oracle instead of update触发器,Oracle中的instead of触发器

Instead of : 用Trigger的内容替换 事件本身的动作,该触发器用在视图上,举例:

一:创建一个update替代触发器

(1)创建一个视图

1 create or replace view my_view

2 as

3 select id,name from my_table;

查询到视图中的数据如下图:

fdbb3c1c4e558ed9c8f0509585f6d5a4.png

(2)创建一个update替代触发器,当update视图数据时触发,打印输出下列红色字体语句,来代替更新视图数据

1 create or replace trigger u_trigger

2 instead of

3 update on my_view

4 for each row

5

6 begin

7 dbms_output.put_line('执行update替代触发器!');

8 end;

(3)执行SQL语句,并查看结果,红色框是触发器触发时输出的结果

4a885570606e64cb44362c9305acd3f4.png

二:创建一个delete替代触发器

(1)创建一个视图

1 create or replace view my_view

2 as

3 select id,name from my_table;

查询到视图中的数据如下图:

fdbb3c1c4e558ed9c8f0509585f6d5a4.png

(2)创建一个delete替代触发器,当delete视图数据时触发,打印输出下列红色字体语句,来代替删除视图数据

1 create or replace trigger d_trigger

2 instead of

3 delete on my_view

4 for each row

5

6 begin

7 dbms_output.put_line('执行delete替代触发器!');

8 end;

(3)执行SQL语句,并查看结果,红色框是触发器触发时输出的结果

f3b24600a3f7e93b58fad487613611b7.png

标签:触发器,update,视图,Oracle,instead,delete,my,view

来源: https://www.cnblogs.com/AI-xiaocai/p/11203249.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值