Alter to add DELETE ON NULL with more than one column
SQL> SQL> CREATE TABLE supplier 2 ( supplier_id numeric(10) not null, 3 supplier_name varchar2(50) not null, 4 contact_name varchar2(50), 5 CONSTRAINT supplier_pk PRIMARY KEY (supplier_id, supplier_name) 6 ); Table created. SQL> SQL> SQL> CREATE TABLE products 2 ( product_id numeric(10) not null, 3 supplier_id numeric(10) not null, 4 supplier_name varchar2(50) not null 5 ); Table created. SQL> SQL> SQL> ALTER TABLE products 2 add CONSTRAINT fk_supplier 3 FOREIGN KEY (supplier_id, supplier_name) 4 REFERENCES supplier(supplier_id, supplier_name) 5 ON DELETE SET NULL; Table altered. SQL> SQL> SQL> desc products; Name Null? Type ----------------------------------------------------------------------------------------------------- -------- -------------------------------------------------------------------- PRODUCT_ID NOT NULL NUMBER(10) SUPPLIER_ID NOT NULL NUMBER(10) SUPPLIER_NAME NOT NULL VARCHAR2(50) SQL> desc supplier; Name Null? Type ----------------------------------------------------------------------------------------------------- -------- -------------------------------------------------------------------- SUPPLIER_ID NOT NULL NUMBER(10) SUPPLIER_NAME NOT NULL VARCHAR2(50) CONTACT_NAME VARCHAR2(50) SQL> SQL> drop table products cascade constraints; Table dropped. SQL> SQL> drop table supplier cascade constraints; Table dropped. SQL> SQL>