ORACL触发器

--创建一个触发器在插入之前生效触发
--insert/update/delete还有对事物的改变都可以用触发器执行
create or replace trigger j_tri before insert on test2021_0606
--只要有一行更改就会触发一次,如果不加for each row就是只触发一次
for each row
declare
x varchar2(400);
begin
--:new就是把新的数据调出来,:old就是调更改前的数据
x:=:new.t_names;
dbms_output.put_line(x);
--效果:如果x是以X开头的,则把插入数据的address改成指定值
if(x like 'w%') then :new.address:='w的地址';
end if;
end;

定义一个触发器,实现当有插入语句的时候,判断插入的数据中如果t_names以x开头,则把插入数据的地址改成X的地址。
这里是对insert更改做了触发器,还可以对事物,update,delete做更改触发。
--下面执行插入语句来检验触发器的功能
insert into test2021_0606 values(
'w',6,'o'
);

做insert操作可以看到,当字段t_names以w开头时,address更改成了w的地址,而非insert语句中的'o'

文章转载自超人网页作坊,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




