الانتقال إلى المحتوى

ماهو الCursor


looONEeely

Recommended Posts

بسم الله الرحمن الرحيم



:D

الCursor هو عبارة عن أسلوب برمجي يحاكي الـFunction ويقوم بإستعادة قيم مخزنة في قاعدة البيانات حسب الشروط المنصوصة في ال Where Statement ، ويمكن أن يستقبل متغيرات

Cursor C1 is select Emp_Name from Emp where emp_no=7566;

Cursor C1(numx in number) is select Emp_Name from Emp where emp_no=numx;

يجب عمل Open للـ Cursor قبل إستدعاؤه في جملة Fecth

Begin
Open C1; or Open C1(12); --if there is value need to be sent
Fetch C1 into VAR_EMP_NAME;
Close c1
----------------- يوجد لل Cursor متغيرات منطقية
مثلا : إذا لم يجد بيانات C1%Notfound - true
إذا وجد بيانات C1%found  true
إذا الكيرسر مفتوح C1%isopen

Example

Open C1; or Open C1(12); --if there is value need to be sent
Fetch C1 into VAR_EMP_NAME;
If c1%found then
Message(emp_name);message(' ');
Else
Message('no data found ');message(' ');
End if;
Close c1

رابط هذا التعليق
شارك

  • بعد 5 أسابيع...

اخوي الكورسور
هو عبارة عن منطقة محمية من خلالها يتم تنفيذ تعليمات sql داخل اmemory ويتم أنشائها او إغلاقها ضمنيا وتنفذ بعد تعليمة من التعليمات التالية
update,select,delete,insert

رابط هذا التعليق
شارك

  • بعد 2 أسابيع...

اضافة الى ما قاله اخواني :
كما هو معرف فان الـ Select Statement هي الطريقة الوحيدة لارجاع البيانات من الجداول . ونحن نحتاج لارجاع البينات من الجدول لسبب من سببين وهما اما ارجاع البيانات لغرض عرضها و هذه هي استخدام الـSelect في التقارير سوى عن طريق برنامج الـSql * plus او التقارير .
اما السبب الثاني لارجاع البينات هو عملية الحصول عليها حتى نتمكن من معالجتها وهنا نحتاج لاستخدام الـ Select في الـPl/sql حيث يتم ارجاع البيانات والاحتفاظ بها في متغيرات حتى نتمكن من معالجتها ومن ثم اعادة خزنها او اتخاذ قرار معين على حسب طبيعة البيانات .
ولكن استخدام الـSelect في الـPl/sql مقيد بشرط وهو ان الـSelect يجب ان ترجع سجل واحد فقط , حيث انها اذا رجعت اكثر من سجل فسوف يظهر عندنا الـError المعروف Too_many_rows . ونحن نحتاج في اغلب الاحيان لارجاع او التعامل مع اكثر من سجل وليس سجل واحد فقط وهنا جات الحاجة للـCursor , فهو Memory Buffer يستخدم للاحتفاظ بالسجلات التي ترجعها الـSelect ومن ثم نستطيع الوصول الى كل البيانات الموجوده في الـCursor ومعالجتها .

رابط هذا التعليق
شارك

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

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

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