إخواني الكرام ، تحياتي لكم جميعاً ،
أنا أرغب في إدراج سجل من داخل الـ Trigger علي مستوي سطر بنفس الجدول !!!
علي سبيل المثال :
لدي جدول يدعي Emp ، أنا أقوم بإنشاء جدول آخر مثلة Emp_Del كقائمة محزوفات لبيانات الموظف
وفي الزناد الخاص بجدول Emp علي مستوي سطر في حدث After بإدراج السجل في جدول Emp_Del
كما يلي :
Insert Into Emp_Del(Emp_Code,Emp_Name,Del_Date)
Values(:Old.Emp_Code,:Old.Emp_Name,SysDate);
لكن إخواني في هذه الحالة تكون بيانات جدول Emp_Del هي نفس بيانات جدول Emp !!!
لذلك قررت أن أقوم بضم الجدولين ببعضهما بحيث أن يكون جدول ( Emp ) هو جدول للبيانات
الأصلية وبيانات المحزوفات !!!
ولكن لا يجوز إدراج أو حذف أو تعديل الـجدول من داخل الناد ، فيعطي لي الخطأ التالي :
يوجد خطأ عند سطر 1:
ORA-04091: جدول DB.EMP يتغير، قد لا يشعر به الزناد أو الوظيف
ORA-06512: عند "DB.INS_EMP", line 4
ORA-06512: عند "DB.TRG_EMP_AFTER", line 3
ORA-04088: ظهر خطا أثناء تنفيذ الزناد DB.TRG_EMP_AFTER'
أنظر المثال المرفق
وشكراُ للجميع