توضیحات
کلید خارجی با cascade delete به این معناست که اگر رکوردی در جدول اصلی حذف شود در جدولی که به عنوان کلید خارجی به آن اشاره شده است نیز حذف میشود.
دستور
قابلیت cascade delete را میتوان با دستور create table یا Alter table فعال کرد:
| ۱۲۳۴۵۶۷۸۹۱۰۱۱۱۲۱۳۱۴۱۵۱۶۱۷ | CREATE TABLE table_name( column۱ datatype null/not null, column۲ datatype null/not null, ... CONSTRAINT fk_column FOREIGN KEY (column۱, column۲, ... column_n) REFERENCES parent_table (column۱, column۲, ... column_n) ON DELETE CASCADE); ALTER TABLE table_nameADD CONSTRAINT constraint_name FOREIGN KEY (column۱, column۲, ... column_n) REFERENCES parent_table (column۱, column۲, ... column_n) ON DELETE CASCADE; |
مثال
مثالی از فعال کردن گزینه cascade delete:
| ۱۲۳۴۵۶۷۸۹۱۰۱۱۱۲۱۳۱۴۱۵۱۶۱۷۱۸۱۹۲۰۲۱ | CREATE TABLE supplier( supplier_id numeric(۱۰) not null, supplier_name varchar۲(۵۰) not null, contact_name varchar۲(۵۰), CONSTRAINT supplier_pk PRIMARY KEY (supplier_id)); CREATE TABLE products( product_id numeric(۱۰) not null, supplier_id numeric(۱۰) not null, CONSTRAINT fk_supplier FOREIGN KEY (supplier_id) REFERENCES supplier(supplier_id) ON DELETE CASCADE); ALTER TABLE productsADD CONSTRAINT fk_supplier FOREIGN KEY (supplier_id) REFERENCES supplier(supplier_id) ON DELETE CASCADE; |