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

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

صورة
- - - - -

مشكلة Mutating


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

#1 abo_mahmoud

abo_mahmoud

    عضو

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

تاريخ المشاركة 03 January 2007 - 01:37 AM

أريد عمل trigger بعد أو قبل الإدخال(insert) على جدول يقوم بمجموعة عمليات من ضمنها عملية select من نفس الجدول ولكن خطأ قد ظهر وهو MUTATING كيف يمكن حل ذلك .

#2 -=|mOOdY|=-

-=|mOOdY|=-

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

  • المجموعة الماسية
  • 1,324 مشاركة

تاريخ المشاركة 03 January 2007 - 02:49 AM

اهلا اخوي

هل تقوم باستعمال التيبل نفسه عند تطبيق التريجر؟
هل تقوم بعملية الادخال على نفس التيبلالمطبق عليه التريجر؟؟؟

هذه افضل مقالة قرأتها بخصوص Avoiding Mutating Tables اقرأها وسوف تتجنب هذه المشكلة في جميع التريجرات.. ان لم تستطع فهمها ارسل كود التريجر مع التوضيح للتيبل المرتبط نعه

http://asktom.oracle...tate/index.html


تحياتي لك اخوي

صورة

!!! كم أنت عبقري !!!


#3 abo_mahmoud

abo_mahmoud

    عضو

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

تاريخ المشاركة 03 January 2007 - 09:39 PM

لست خبيراً بموضوع الـPackages ,.....................
لنقل أن هناك جدولين :
a (a number),b(b number)
نريد عمل trigger عند الإدخال على a يقوم بالإدخال على b كل محتويات a فرضاً (أو وفق شرط معين)
أي
create or replace trigger tt after insert on a
for each row
begin 
insert into b (select * from a );
end;

الـtrigger لا على التعيين لكنه يجسّد المشكلة تماماً

تم التعديل بواسطة abo_mahmoud, 03 January 2007 - 09:42 PM.