Oracle 外键约束子表、父表,oracle约束
CREATE TABLE employees(
employee_id NUMBER(6),
last_name VARCHAR2(25) NOT NULL,
email VARCHAR2(25),
salary NUMBER(8,2),
commission_pct NUMBER(2,2),
hire_date DATE NOT NULL,
...
department_id NUMBER(4),
CONSTRAINT emp_dept_fk FOREIGN KEY (department_id)
REFERENCES departments(department_id),
CONSTRAINT emp_email_uk UNIQUE(email));
FOREIGN KEY:在表级指定子表中的列
REFERENCES:标识在父表中的列
ON DELETE CASCADE:当父表中的列被删除时,子表中相对应的列也被删除
ON DELETE SET NULL:子表中相应的列置空
参考一下:
ALTER TABLE titles
ADD
CONSTRAINT FK_pub_id FOREIGN KEY (pub_id) REFERENCES publishers(pub_id)
CONSTRAINT FK_pub_id FOREIGN KEY (pub_id)
--pub_id子表中的字段
REFERENCES publishers(pub_id)
--pub_id父表中的字段
一般情况下取一样的名。也可以不一样
先删子表后删父表,如果两张表相互有主外键约束,drop table tablename cascade constraints即可