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

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

صورة
- - - - -

ON DELETE CASCADE


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

#1 hearthouse

hearthouse

    مشترك

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

تاريخ المشاركة 29 August 2006 - 08:50 PM

كيف يمكنني استخدام الخيارات ON DELETE CASCADE
و ON DELETE SET NULL
و الخاصة باستخدام FOREIGN KEY

ارجو الافادة بقي ...

#2 محمد سعيد

محمد سعيد

    عضو مميز

  • الأعضــاء
  • 534 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 29 August 2006 - 09:46 PM

السلام عليكم
شوف يا سيدى انت لو عندك primary key وحذفته بيتحذف ال foreign key بتوعه
اما on delete set null فيقوم بحذف القيم وترك اماكنها فارغة
ارجو ان اكون اوضحت

#3 hearthouse

hearthouse

    مشترك

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

تاريخ المشاركة 31 August 2006 - 05:48 PM

لا يهم فقد توصلت للحل و الحمد لله ...و لكن سؤال اخر تبادر الي ذهني

كيف يمكن حذف الجدول Parent table مع Child table باستخدام

Drop table main_table

و مشكور علي مرورك

تم التعديل بواسطة hearthouse, 31 August 2006 - 05:51 PM.


#4 abd l rahman

abd l rahman

    مشترك

  • الأعضــاء
  • 132 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 31 August 2006 - 06:22 PM

السلام عليكم ورحمة الله وبركاته
بمجرد وضع الON DELETE CASCADE
أو ON DELETE SET NULL
مثال:
create table dept(department_id number(6), 
CONSTRAINT dept_dept_fk FOREIGN KEY (department_id) REFERENCES departments(department_id) ON DELETE SET NULL)

عندما تحاول مثلا مسح اي department_id من جدول الdepartments سيجعل الchild الموجود في جدول الdept فارغ اي NULL تلقائيا بدون تدخل منك

اما اذا استخدمت DROP سيجعل كل ال CHILD فارغ اي NULL ايضا بدون تدخل منك لانه اصلا موجود في الCONSTRAINT بتاع الجدول اثناء انشائه

وطبعا نفس الموضوع بالنسبة للON DELETE CASCADE
ولاكن بدل من ان يكون فارغ سيمسح الريكورد اصلا

#5 hearthouse

hearthouse

    مشترك

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

تاريخ المشاركة 04 September 2006 - 04:00 PM

الله ينور عليك يا اخ عبد الرحمن ... هذا بالفعل ما اقصده و شكرا علي مرورك ....

#6 kerailos

kerailos

    عضو

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

تاريخ المشاركة 07 June 2009 - 05:22 PM

انا عايز جمله select
تقوم بمسح الصف cascade

delete from table where primary_key=?

ايه اللي اضيفه علشان يمسحه ويخلي قيم ال foreign key=null
****************************************************************
2.
انا عايز جمله select
نختار ال primary key
بتاع ال
table