多表可更新视图测试:
create table t1
( t11 numeric(28),t12 varchar2(20));
create table t2
( t11 numeric(28),t22 varchar2(20));
create Or Replace view t1_t2 as
select T1.t11 f1 ,T1.t12 f2 ,T2.t22 f3
from T1,T2
Where T1.t11=T2.t11;
SQL> Create Or Replace Trigger Trg_InsUpdDel_t1_t2
2 Instead Of Insert or update or delete
3 on t1_t2
4 for each row
5 Declare
6 begin
7 If Inserting Then
8 Insert Into t1 (t11,t12) Values (:New.f1,:New.f2);
9 Insert Into t2 (t11,t22) Values (:New.f1,:New.f3);
10 elsif Updating Then
11 Update t1 set t11=:New.f1,t12=:New.f2 where t11=:New.f1;
12 Update t2 set t11=:New.f1,t22=:New.f3 where t11=:New.f1;
13 elsif Deleting then
14 Delete from t1 where t11=:Old.f1;
15 Delete from t2 where t11=:Old.f1;
16 End if;
17 end;
18 /
触发器已创建
SQL> insert into t1_t2 values (1,'t1','t2');
已创建 1 行。
SQL> insert into t1_t2 values (2,'t3','t4');
已创建 1 行。
SQL> commit;
提交完成。
SQL> select * from t1;
T11 T12
---------- --------------------
1 t1
2 t3
SQL>
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/36779/viewspace-888074/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/36779/viewspace-888074/