ITPub博客

首页 > 数据库 > 数据库开发技术 > deferred用于级联表更新

deferred用于级联表更新

原创 数据库开发技术 作者:battleman 时间:2007-11-28 10:35:32 0 删除 编辑

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

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/76846/viewspace-985470/,如需转载,请注明出处,否则将追究法律责任。

上一篇: Drop大表的步骤
请登录后发表评论 登录
全部评论

注册时间:2008-10-04

  • 博文量
    16
  • 访问量
    25891