بتاريخ: 23 ديسمبر 201312 سنة comment_244510 السلام عليكم ورحمة الله ياشباب عندي Cursor بيمشي على مجموعه من السجلات وكل مره يأخذ فيها سجل يقوم بدإخاله في جدول ما إذا تحقق الشرط بمعنى أن هناك شرط قبل غدخال السجل في الجدول. المشكله هي أني أريد إذا لم يتحقق الشرط في السجل يتجاهل السجل ويأخذ السجل الذي بعده. لأن البرنامج يعطي خطأ عند الوقوف على هذا السجل. بإختصار يعني البرنامج يعمل Skip لهذا السجل ويكمل السجلات الأخرى. تقديم بلاغ
بتاريخ: 23 ديسمبر 201312 سنة comment_244511 على سبيل المثال اخي العزيز عندي جدول الموظفين اسمه emp وجدول ثاني للموظفين اسمه t_emp واريد Cursor يمر على كل السجلات الموجودة في جدول emp واي سجل فيه الراتب اكبر من 1000 يعمل اضافة في الجدول الاخر t_emp كالتالي declare cursor c is select * from emp; a c%rowtype; begin open c; loop fetch c into a; if a.sal > 1000 then insert into t_emp(EMPNO,ENAME,JOB) values(a.EMPNO,a.ENAME,a.job); else null; end if; exit when c%notfound; end loop; end; تقديم بلاغ
بتاريخ: 23 ديسمبر 201312 سنة كاتب الموضوع comment_244514 أشكرك اخي العزيز على الرد لكن بإعتبار أنه لم اضع ال WHERE في ال SELECT كيف يمكنني أن أجعل ال CURSOR يتجاهل السجل ويكمل المرور على باقي السجلات تقديم بلاغ
بتاريخ: 23 ديسمبر 201312 سنة comment_244517 انا مش فاهم حاجة , حضرتك بتقوله بفرض اني موضعتش الـ where في الـ select وهو اصلا مش حاططها , تيجي ازاي دي !! ثانيا : الكود المفروض يشتغل زي الفل من غير الـ else null وهيعدي السجلات اللي مش هتوافق الشرط عادي جدا , وده الطبيعي اصلا اللي هيقابل الشرط هيحطه في الجدول التاني , واللي مش هيقابل , اللوب هيلف تاني ويعمل fetch لتاني صف تقديم بلاغ
بتاريخ: 23 ديسمبر 201312 سنة comment_244518 اخى العزيز اخوناmiash80 لم يقوم بوضع where in select جرب التطبيق على المثال السابق وان شاء الله هتظبط معاك ولو فى اى حاجة واجهتك انا اوصل معاك على برنامج Team Viewer 8 وان شاء الله احل معاك المشكلة تقديم بلاغ
بتاريخ: 23 ديسمبر 201312 سنة comment_244521 أشكرك اخي العزيز على الرد لكن بإعتبار أنه لم اضع ال WHERE في ال SELECT كيف يمكنني أن أجعل ال CURSOR يتجاهل السجل ويكمل المرور على باقي السجلات العفو اخي الفاضل لكني لم اضع جملة شرط في جملة الاستعلام وانا وضعت شرط اذا اكبر من 1000 اضف هذا السجل في جدول اخر واذا لم يتحقق الشرط null يعني لا تعمل اي شيئ ووضعت داخل الــ Cursor لوب يعني امشي على جميع السجلات يعني رح يمر على جميع السجلات اذا تحقق الشرط اضاف سجل واذا لم يتحقق لا يعمل أي شي اتمنى ان اكون اوصلت الفكرة تقديم بلاغ
بتاريخ: 23 ديسمبر 201312 سنة comment_244522 انا مش فاهم حاجة , حضرتك بتقوله بفرض اني موضعتش الـ where في الـ select وهو اصلا مش حاططها , تيجي ازاي دي !! ثانيا : الكود المفروض يشتغل زي الفل من غير الـ else null وهيعدي السجلات اللي مش هتوافق الشرط عادي جدا , وده الطبيعي اصلا اللي هيقابل الشرط هيحطه في الجدول التاني , واللي مش هيقابل , اللوب هيلف تاني ويعمل fetch لتاني صف كلامك صحيح اخي العزيز الكود بيشتغل من دون else بس كان هدفي اوصل معلومة للأخ بالكود لانه بصيغة سؤاله المشكله هي أني أريد إذا لم يتحقق الشرط في السجل يتجاهل السجل ويأخذ السجل الذي بعده. اذا لم يتحقق الشرط يعني Else حبيت اسهل عليه الموضوع تقديم بلاغ
بتاريخ: 23 ديسمبر 201312 سنة comment_244523 اخى العزيز اخوناmiash80 لم يقوم بوضع where in select جرب التطبيق على المثال السابق وان شاء الله هتظبط معاك ولو فى اى حاجة واجهتك انا اوصل معاك على برنامج Team Viewer 8 وان شاء الله احل معاك المشكلة مشكور اخي على التوضيح والله يجزيك الخير على مساعدة اخوانك في هذا المنتدى الطيب تقديم بلاغ
بتاريخ: 23 ديسمبر 201312 سنة كاتب الموضوع comment_244535 أشكركم جميعا على الرد. والمعلومه وصلت بشكل جيد. تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.