الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

ما الفرق بين ال Cursor وال For Loop

Featured Replies

بتاريخ:

السلام عليكم



هذا كود كتبه الأخ 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

وشكرا مقدما :D

بتاريخ:

بختصار الcursor
يعمل عمل الloop و ايضا يسحب المتغيرات المطلوبه

ما for loop
بس يعمل تحريك اي دوران حتى يكمل او يمر على جميع المتغير المطلوب

بتاريخ:
  • كاتب الموضوع

أشكرك أخ alaahiakal على الرد والمشاركة

لكن أريد أن أعرف الفرق من ناحية ال Performance

من الأفضل وليش ؟؟؟

  • بعد 2 أسابيع...
بتاريخ:

السلام عليكم ورحمةالله وبركاته :-
أخي الكريم .. هذا الرد على حسب علمي وفهمي للموضوع :
1- الـ (Cursor) يقوم بعمل إستعلام مرة واحدة لبيانات الجدول ووضعها في متغير ثم يقوم بفردها دون الحاجة إلى الذهاب إلى قاعدة البيانات كل مرة وإحضار البيانات .
2- الـ (Cursor) أقوى على مستوى العميل إذا إستخدمته في بيانات ثابتة أي لا تتغير كثيراً كفرد مثلاً أسماء الموظفين في مكان معين فإن الموظفين قليلاً ما يتم إضافتهم . "طبعاً المقصود في لحظة طلب البيانات إلى العميل إلى إنتهاء العميل من عملية فرد الأسماء هل من المتوقع أن يعمل أحد حفظ !!؟ " .
3- الـ (For Loop) هو أقوى في حالة أنه البيانات التي تطلبها يجب الذهاب ومراجعتها سجلاً سجلاً مع فردها عند العميل .. طبعا العميل يعني "Clint" وليس "Customer" .
--------------
هذا والله أعلم ..
إبراهيم بخش ،،، المدينة المنورة .

بتاريخ:

وأيضاً لا تنسى أنه الـ(Cursor) يمكن أن تستخدمه أكثر من مرة في نفس الشاشة لأنه محفوظ في متغير .
أو أكثر من مرة في نفس التعريف (Declare) .
----------------------
ارجو أن أكون قد وفقت بالشرح .

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.