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

delete details with master


AHM3ORA3

Recommended Posts

للأسف لا يمكنك حذف أي صف من الجدول الرئيسي طالما أن له ارتباطا بصفوف في جدول ثانوي ، إلا إذا كان عمود العلاقة في الجدول الثانوي الـ Constraint تبعه معد على (ON DELETE CASCADE) ...
الحل الآخر هو أن تنشيء Trigger يعمل عند حذف صف من الجدول الرئيسي ، و يحتوي على جمل تحذف كل الصفوف المرتبطة بهذا الصف قبل حذفه ...

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

عليك اولا بحذف الحقول المرتبطة بالعمود الاب
واذا اردت ان تحذف الابناء بمجرد حذف الاب
تكون ذلك عند انشاء Reference يكون معه (ON DELETE CASCADE)
فبذلك ينحذف الاب دون الرجوع الى الروابط المتصلة

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

  • بعد 3 أسابيع...

يمكنك يا اخى فعل الاتى :
اولاً : حذف القيد constriant الذى يربط الجدوالين وذلك باستخدام الامر
alter table employees drop constraint dept_id_fk
بافتراض ان اسم القيد dept_id_fk
ثانياً : انشاء القيد مرة اخرى باستخدام الصيغة :
alter table employees add constraint dept_id_fk foregin key
references department (id) on delete cascade
حيث تعمل on delete cascade على حذف السجلات الابناء Details التابعة للسجل الابوى Master التى يتم حذفه

مع ملاحظة خطوه on delete cascade لان عدم استخدام يعمل على حماية السجلات الابناء . الا اذا كانت هذا الاسلوب من متطلبات النظام مثال :
حذف مواعيد حضور وانصراف الموظفين
فانه عند حذف سجل الموظف الاصلى فاننا ليسنا فى حاجة للاحتفاظ بسجلات حضوره وانصرافه.

مع تحياتى
اسامه سليمان

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

  • بعد 3 سنة...
  • بعد 1 شهر...

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

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

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

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

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

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

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