Foreign Keys with Cascade Delete

توضیحات

کلید خارجی با 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;
Categories: Data
X