|
为什么我的实验结果是这样呢?
我没有使用deferable,结果也可以级连更新?请各位DX指点,谢谢!!!
SQL*Plus: Release 9.2.0.1.0 - Production on 星期日 2月 19 07:17:50 2006
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn scott/tiger
SQL> create table parent(a int primary key);
表已创建。
SQL> create table son(id int,a references parent(a));
表已创建。
SQL>
SQL> insert into parent
2 select level from dual connect by level < 5;
已创建4行。
SQL> insert into son values(1,1);
已创建 1 行。
SQL> insert into son values(2,2)
2 ;
已创建 1 行。
SQL> insert into son values(3,3);
已创建 1 行。
SQL> insert into son values(4,4);
已创建 1 行。
SQL> insert into son values(5,4);
已创建 1 行。
SQL> commit;
提交完成。
SQL> set wrap off
SQL> set linesize 200
SQL> select * from parent;
A
----------
1
2
3
4
SQL> select * from son;
ID A
---------- ----------
1 1
2 2
3 3
4 4
5 4
SQL> create or replace trigger tri_par
2 after update on parent
3 for each row
4 begin
5 update son set a = :new.a where a= ld.a;
6 end;
7 /
触发器已创建
SQL> update parent set a = 5 where a = 1;
已更新 1 行。
SQL> select * from parent;
A
----------
5
2
3
4
SQL> select * from son;
ID A
---------- ----------
1 5
2 2
3 3
4 4
5 4
SQL> rollback;
回退已完成。 |
|