الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

cursor

مغلق
بدأه sun_light في 24 مايو 2003 · 5 رد · 851 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أنا بصراحة مبتدءة بالاوراكل واريد من احد ان يساعدني ان امكن

اريد ان اعمل بحث عن طريق استخدام الcursor

وعملت الكود ويبدو انه ناقص

ما اريده هو ان يستعرض البيانات التي فيها قيمة الsex = 2

أرجو ان اكون قد أوضحت كلامي

الكود

declare

; cursor c1 is select * from master_table where sex = 2; x master_table%rowtype

begin

open c1 ;

loop

fetch c1 into x ;

exit when c1%notfound;

end loop;

close c1 ;

:o:o:o

end;

#2

عند البحث يجب تحديد الشيء المراد البحث عنه وفي أي حقل

وبعد عملية fetch المفروض أنه يكون هناك if statement لتأكد هل القيمة المأخوذة من الكيرسر مساوية للقيمة المراد البحث عنها

وإذا كانت مساوية تعطينا إشعار بذلك إما true أو البرايمري كي لنستطيع الوصول إلى السجل من خلاله.

#4

السلام عليكم الاخ ابراهيم والاخ محمد شكرا لكما

ولكنى اطمع بالشرح

لقد عدلت على الكود السابق وتظهر لي النتيجة بالماسج ويظهر لي عدد السجلات صحيح لكني اريد ان تظهر لي النتيجة في الحقول والتنقل بينها :rolleyes:

الكود

---

DECLARE

c_file_number master_table.file_number%type;

c_name master_table.name%type;

CURSOR c1 IS select file_number,name from master_table where sex = 2;

BEGIN

OPEN c1;

loop

FETCH c1 INTO c_file_number,c_name;

exit when c1%notfound;

message (c_file_number || c_name);

:master_table.name := c_name;

:master_table.file_number := c_file_number;

end loop;

message ('records = ' || c1%rowcount);

CLOSE c1;

END;

#5

أضيفي next_record قبل end loop .

إن كان البلوك master_table فقط للإستعراض غيري خاصية البلوك

database data block إلى No

تحياتي

ابراهيم

#6

الاخ ابراهيم شكرا جزيلا وجزاك الله خيرا :b1

هذا الموضوع مغلق.

مواضيع مشابهة