ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 测试TOM=DEFERRABLE约束选项

测试TOM=DEFERRABLE约束选项

原创 Linux操作系统 作者:oracle_db 时间:2012-05-28 13:55:15 0 删除 编辑


测试
1.创建父子表和测试数据
SQL> create table p
  2  (pk int primary key);

Table created.
SQL>   create table c
  2   (fk constraint c_fk
  3   references p(pk)
  4   deferrable               
  5   initially immediate --约束延迟到COMMIT或者另外某个时间点进行检查
  6   )
  7  /

Table created.

SQL> 
SQL> insert into p values (1);

1 row created.

SQL> insert into c values (1);

1 row created.

SQL> 
2.在IMMEDIATE模式下对表进行更新操作
SQL> update p set pk=2;
update p set pk=2
*
ERROR at line 1:
ORA-02292: integrity constraint (SCOTT.C_FK) violated - child record found


SQL> 
3.在DEFERRED模式下
SQL> set constraint c_fk deferred;

Constraint set.

SQL> update p set pk=2;

1 row updated.

SQL> 

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

请登录后发表评论 登录
全部评论

注册时间:2008-11-13

  • 博文量
    158
  • 访问量
    306030