ITPub博客

首页 > 数据库 > 数据库开发技术 > 多表可更新视图测试

多表可更新视图测试

原创 数据库开发技术 作者:cyr1974 时间:2007-01-03 13:47:30 0 删除 编辑

多表可更新视图测试:

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/,如需转载,请注明出处,否则将追究法律责任。

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

注册时间:2009-03-16

  • 博文量
    37
  • 访问量
    256872