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

مشكلة في الـ Object Type


MMA

Recommended Posts

الإخوة الكرام ، السلام عليكم ورحمة الله وبركاتة ،

من المعتاد عند إنشاء أمر Object Type بقاعدة البيانات تتم كما يلي :

Create Or Replace Type O_Emp Is Object(EmpNo  Number(10),Ename VarChar2(20));
/
Create Or Replace Type T_Emp Is Table Of O_Emp;
/



بعد ذلك يمكننا إستخدامهم بكل بساطة كما يلي :

Declare
 P_Emp  T_Emp := T_Emp();
Begin
 P_Emp.ExtEnd;
 P_Emp(P_Emp.Count) := O_Emp(1,'Ahmed');
 P_Emp.ExtEnd;
 P_Emp(P_Emp.Count) := O_Emp(2,'Usif');
 P_Emp.ExtEnd;
 P_Emp(P_Emp.Count) := O_Emp(3,'Sara');
End;
/



ولكن عند محاولة ربط Object Type مباشرتاً مع جدول بأكثر من طريقة لا يقبل معي ، أنظروا :

Create Or Replace Type O_Emp Is RefCursor Return Emp%RowType;
/
Create Or Replace Type O_Emp Is Ref Cursor Return Emp%RowType;
/
Create Or Replace Type O_Emp Is Object Of Emp%RowType;
/
Create Or Replace Type O_Emp Is Object Return Emp%RowType;
/
Create Or Replace Type O_Emp Is Record(A  VarChar2(20));
/



من الصحيح إمكاننا إنشاء أمر Type داخل قطعة برمجية كما يلي :

Declare
 Type O_Emp Is Ref Cursor;
 P_Emp  O_Emp;
Begin
 Open P_Emp For Select * From Emp;
 Null;
End;
/




لكن إخواني أنا أرغب في إنشاء Object Type مباشرتاً ، يمكننا من خلالة جلب كافة حقول جدول محدد علي Object Type دون إجراء تعريف له ، كما هو موضح بالمثال التالي :

P_Emp	Emp%RowType;




شكراً

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

  • بعد 10 شهور...

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

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

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

×   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.

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

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

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