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

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

صورة
- - - - -

استفسار


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

#1 heba_salah_ali

heba_salah_ali

    عضو

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

تاريخ المشاركة 17 May 2009 - 12:54 PM

ماهو الكيرسر

#2 Ahmad.Hasan

Ahmad.Hasan

    مشرف قسم الـ Forms & Reports والمشاريع

  • فريق الإشراف
  • 4,869 مشاركة
  • الاسم الأول:Ahmad
  • اسم العائلة:Hasan
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle HCM Consultant

تاريخ المشاركة 18 May 2009 - 01:15 AM

انواع الـ Cursor
-----------------
هناك نوعين من الـ Cursors
1- implicit Cursor وهذا النوع يعرف مباشرة دون ان نقوم نحن بتعريفه فهو يعرف مباشره عندما نقوم بتنفيذ اي استعلام حيث يتم حجز منقطه في الذاكره تحت تسميه معينه وتوضع فيها كل البيانات الناتجه من الاستعلام ثم يتم عرضها في الشاشه او التقرير .
فعندما تقوم بفتح ال Sql * plus ثم تقوم بكتابه الاستعلام الاتي (select empno, ename , sal from emp ) فانه يتم تعريف Cursor ضمني توضع فيه كل السجلات الناتجه من الاستعلام ثم يتم بعد ذلك عرض السجلات سجل سجل باستخدام الـIndex .

2- Explicit Cursor وهذا النوع يتم تعريفه من قبل المستخدم عندما يحتاج الى التعامل مع اكثر من سجل . وهذا النوع سوف نتطرق لشرحه بصوره مفصله عندما نحتاج للتعامل مع اكثر من سجل من البيانات من داخل برنامج PL/SQL .

مثال:

Declare 
  Cursor C1 is
	  select empno, ename , sal 
	  from emp;

  v_empno emp.empno%type;
  v_ename emp.ename%type;
  v_sal   emp.sal%type;
Begin
	Open C1;
		 Dbms_Output.put_line ('empno ' || ' ename ' || ' salary ');
	Loop 
		 Fetch C1 into v_empno, v_ename , v_sal;
		 Exit when C1%notfound;
		 Dbms_Output.put_line (  v_empno ||  '  ' ||  v_ename || '   '  ||  v_sal );
	End loop;
Close C1;
End;
/

بالتوفيق

.Oracle E-Business Suite R12 HCM Certified Implementation Specialist

 

.Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist