Oracle中的instead of触发器

it2022-05-05  143

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

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

(1)创建一个视图

1 create or replace view my_view 2 as 3 select id,name from my_table;

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

(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语句,并查看结果,红色框是触发器触发时输出的结果

 

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

 (1)创建一个视图

1 create or replace view my_view 2 as 3 select id,name from my_table;

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

(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语句,并查看结果,红色框是触发器触发时输出的结果

 

转载于:https://www.cnblogs.com/AI-xiaocai/p/11203249.html


最新回复(0)