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

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

ماهو الCursor


4 رد (ردود) على هذا الموضوع

#1 looONEeely

looONEeely

    عضو

  • الأعضــاء
  • 1 مشاركة

تاريخ المشاركة 06 May 2004 - 06:02 AM

متى نحتاج إلى Cursor , ومتى لا نحتاج إليه ؟
كيف نستخدم ال Cursor ?

#2 Snakers

Snakers

    عضو

  • الأعضــاء
  • 12 مشاركة

تاريخ المشاركة 06 May 2004 - 01:02 PM

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



: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
BellOsOft

#3 عبداللطيف

عبداللطيف

    مــشــرف عــام

  • الإشراف العام
  • 1,267 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 08 May 2004 - 08:11 AM

شكراً اخي الكريم

#4 shavrrrrr77

shavrrrrr77

    عضو

  • الأعضــاء
  • 30 مشاركة

تاريخ المشاركة 06 June 2004 - 06:06 PM

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

#5 khaled

khaled

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 251 مشاركة

تاريخ المشاركة 15 June 2004 - 08:51 AM

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