代码改变世界

Oracle触发器更新插入字段值

2016-09-29 14:00  Henry.Tian  阅读(10937)  评论(0)    收藏  举报
工作小计:由于程序内置SQL语句条件有误,导致单据无法提取记账。时间紧迫,在不改变程序的前提下,写一小触发器进行字段更新处理。工作环境转实验环境记录。

1.建表并插入数据

create table henry(id number,name nvarchar2(10),stat number);
insert into henry values(1,'Hong',0);
insert into henry values(2,'Qiang',0);
commit;
select * from henry;

2.在henry表上创建触发器:当在henry.name字段插入有T开头的数据时,自动更新henry.stat字段值为1

create or replace trigger thr_updateaccept before insert on henry
for each row
begin
    if :new.name like 'T%' then
       :new.stat:=1;
    end if;
end;

3.测试插入数据,并查询触发器是否生效。

insert into henry values(3,'Tian',0);
insert into henry values(4,'Thenry',888);
commit;
select * from henry;