بتاريخ: 7 يوليو 200520 سنة comment_41053 السلام عليكم هذا كود كتبه الأخ hanon_OCP في أحد المواضيعDECLARE CURSOR EMP_CURSOR IS SELECT EMPNO FROM EMP; BEGIN FOR REC IN EMP_CUR LOOP RAISE_SAL(REC.EMPNO); END LOOP; END; أرد أن أعرف الفرق بينه وبين هذا الكود BEGIN FOR REC IN ( SELECT EMPNO FROM EMP ) LOOP RAISE_SAL(REC.EMPNO); END LOOP; END; من ناحية ال Performanceوشكرا مقدما تقديم بلاغ
بتاريخ: 8 يوليو 200520 سنة comment_41085 بختصار الcursor يعمل عمل الloop و ايضا يسحب المتغيرات المطلوبه ما for loop بس يعمل تحريك اي دوران حتى يكمل او يمر على جميع المتغير المطلوب تقديم بلاغ
بتاريخ: 9 يوليو 200520 سنة كاتب الموضوع comment_41114 أشكرك أخ alaahiakal على الرد والمشاركةلكن أريد أن أعرف الفرق من ناحية ال Performance من الأفضل وليش ؟؟؟ تقديم بلاغ
بتاريخ: 17 يوليو 200520 سنة comment_41726 السلام عليكم ورحمةالله وبركاته :- أخي الكريم .. هذا الرد على حسب علمي وفهمي للموضوع :1- الـ (Cursor) يقوم بعمل إستعلام مرة واحدة لبيانات الجدول ووضعها في متغير ثم يقوم بفردها دون الحاجة إلى الذهاب إلى قاعدة البيانات كل مرة وإحضار البيانات .2- الـ (Cursor) أقوى على مستوى العميل إذا إستخدمته في بيانات ثابتة أي لا تتغير كثيراً كفرد مثلاً أسماء الموظفين في مكان معين فإن الموظفين قليلاً ما يتم إضافتهم . "طبعاً المقصود في لحظة طلب البيانات إلى العميل إلى إنتهاء العميل من عملية فرد الأسماء هل من المتوقع أن يعمل أحد حفظ !!؟ " .3- الـ (For Loop) هو أقوى في حالة أنه البيانات التي تطلبها يجب الذهاب ومراجعتها سجلاً سجلاً مع فردها عند العميل .. طبعا العميل يعني "Clint" وليس "Customer" .--------------هذا والله أعلم .. إبراهيم بخش ،،، المدينة المنورة . تقديم بلاغ
بتاريخ: 17 يوليو 200520 سنة comment_41727 وأيضاً لا تنسى أنه الـ(Cursor) يمكن أن تستخدمه أكثر من مرة في نفس الشاشة لأنه محفوظ في متغير .أو أكثر من مرة في نفس التعريف (Declare) . ----------------------ارجو أن أكون قد وفقت بالشرح . تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.