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

本文详细介绍了如何在Oracle中创建update和delete替代触发器,通过Instead of语句,实现在视图操作时执行自定义逻辑,如输出提示信息,而不实际更新或删除数据。通过实例展示了如何创建和使用触发器来模拟视图操作过程。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值