delphi4arab منتديات دلفي للعرب

نسخة كاملة : كيف استخدم Triggers لحذف سجلات الابناء عند حذف الأب
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
لاحظوا هذا الترايقر (Triggers) هنا
كود :
delete from M2 where (M2.mindex = M1.[ID]);
انه ينفذ بالحدث after delete للجدول M1 وهو لا يستطيع التعرف على الجدول M2
حيث يطلب حذف الابناء في الجدول الثاني بمعلومية الانديكس للحقل ID وايضا Mindex
المشكلة بهذا انه لا يستطيع التعرف على الجدول الثاني أي وهو M1 ولا اي حقل يتبعه .
ما الطريقة لتفادي هذه المشكلة ؟
و عليكم السلام و رحمة الله

أسهل حل (دون إستخدام الـTriggers ): أنشئ المفتاح الخارجي بالخاصية on delete CASCADE

ما هي قاعدة البيانات المستخدمة ؟
ليس عندي قاعدة ببيانات محددة انا استخدم الفايربيرد والاسكيولايت مثلا

على العموم وجدت الحل وهو كالتالي:

delete from t1 where t1.mindex=old.id

في الحدث before felete للجدول الاب

لاحظ انهم يستخدمون العبارة old للدلالة على القيمة القديمة و new للدللالة على العبارة الجديدة