外键约束


删除一个表时,提示有外键约束,ORA-02292: 违反完整约束条件 () - 已找到子记录
先查出对应的外键属于哪个表
select * from user_constraints uc where uc.constraint_name='';
找到后禁用
alter table 表名 disable constraint 约束名;
或者在plsql中
外键约束_第1张图片

之后就可以直接删除

其中有两个延迟记录一下:
·DEFERRABLE INITIALLY IMMEDIATE:创建可延迟的约束,初始状态是在语句级检查。INITIALLY IMMEDIATE也可以不写。

·DEFERRABLE INITIALLY DEFERRED: 创建可延迟的约束,初始状态是在延迟检查。
commit时才检查

可以通过级联的删除
alter table xxx  add constraint 约束名 foreign key (外键字段名)
  references yyy (ID) on delete cascade
这样可以通过删除yyy直接删除对应xxx的数据

你可能感兴趣的:(约束)