首页 > 数据库 > 数据库开发技术 > deferred用于级联表更新
SQL> create table t1(a number primary key);
表已创建。
SQL> create table t2(b number constraint t2_fk references t1(a) deferrable initially immediate);
表已创建。
SQL> insert into t1 values(1);
已创建 1 行。
SQL> insert into t2 values(1);
已创建 1 行。
SQL> commit;
提交完成。
SQL> update t1 set a=2;
update t1 set a=2
*
第 1 行出现错误:
ORA-02292: 违反完整约束条件 (SYS.T2_FK) - 已找到子记录
SQL> set constraint t2_fk deferred;
约束条件已设置。
SQL> update t1 set a=2;
已更新 1 行。
SQL> update t2 set b=2;
已更新 1 行。
SQL> commit;
提交完成。
SQL> select * from t1;
A
----------
2
SQL> select * from t2;
B
----------
2
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/76846/viewspace-985470/ ,如需转载,请注明出处,否则将追究法律责任。