بتاريخ: 10 أغسطس 201114 سنة comment_214813 الاخوة الكرام السلام عليكم وكل عام وانتم بخيرسوالى هولماذا يستخدم الكيرسور فى هذا المثال وكلنا يعلم بان الكيرسور يستخدم لمعالجة الإستعلام الذى يعود باكثر من صف وهنا اريد ان اعرف لماذا تم الإستخدام declare v_invalid BOOLEAN; cursor c_deptname is select dname from dept where deptno = :emp.deptno; begin open c_deptname; fetch dname into :emp.dept_name ; --displiay item v_invalid := c_deptname%notfound; if v_invalid then message('this deptno is invalid.'); raise form_trigger_failure; لما لا اكتفى فقط بوضع كود فى when validate item ويكون غلى النحو التالى select dname into :emp.dept_name --display_item from dept where deptno = :emp.deptno when no_data_found then message('invalid deptno try again'); raise form_trigger_failure; ولكم كل الشكر والتقدير تقديم بلاغ
بتاريخ: 10 أغسطس 201114 سنة comment_214854 والله يا ريس انت أدري , من غير ما اقرأ المثال , هو لو بيرجع باكتر من قيمة استخدم الكرسور , بيرجع بقيمة واحدة تبقي مش محتاج كرسور تقديم بلاغ
بتاريخ: 15 أغسطس 201114 سنة comment_215025 يا أخي الـ Cursor أفضل من جملة Select لأن هذه الاخيرة بها Loop فما بالك لو أنك تبحث في مليون سجل مثلاً والله أعلم تقديم بلاغ
بتاريخ: 18 أغسطس 201114 سنة comment_215144 Sa, Using select into statement is better as you query using primary key column and it will return at most one record and you handled NO_DATA_FOUND exception. You can use cursor if it will return more than one record and you want to loop in data-set result Thanks تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.