失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Oracle创建外键约束

Oracle创建外键约束

时间:2022-05-27 10:23:29

相关推荐

Oracle创建外键约束

1. 创建表时创建外键

CREATE TABLE T1(employee_idNUMBER(4), last_name VARCHAR2(10), job_idVARCHAR2(9), salaryNUMBER(7,2), department_id CONSTRAINT fk_deptno REFERENCES T2(department_id) );

其中T2叫父表,T1叫子表。

注意事项:

父子表中相应列的数据类型必须一致,列名可以不同;父表字段必须是主键或者唯一键;子表中外键的值必须在父表中,否则会报错:未找到父项关键字。

2. 修改时创建外键约束

有三种形式的外键约束:

2.1 普通外键约束

如果存在子表引用父表主键,则无法删除父表记录

ALTER TABLE T1 ADD CONSTRAINT FK_INVOICE_ID FOREIGN KEY(INVOICE_ID ) REFERENCES T2 (ID);

2.2 级联外键约束

可删除存在引用的父表记录,而且同时把所有有引用的子表记录也删除

ALTER TABLE T1 ADD CONSTRAINT FK_INVOICE_ID FOREIGN KEY(INVOICE_ID ) REFERENCES T2(ID) ON DELETE CASCADE;

2.3 置空外键约束

可删除存在引用的父表记录,同时将子表中引用该父表主键的外键字段自动设为NULL,但该字段应允许空值

ALTER TABLE T1 ADD CONSTRAINT FK_INVOICE_ID FOREIGN KEY(INVOICE_ID ) REFERENCES T2(ID) ON DELETE SET NULL;

3. 启用/禁用外键

DISABLE(禁用) |ENABLE(启用)CONSTRAINT constraint_name

4. 删除外键约束

drop constraint constraint_name;

5. 其他

创建主键:

ALTER TABLE T1 ADD CONSTRAINT PK_T1_ID PRIMARY KEY(ID);

如果觉得《Oracle创建外键约束》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。