0
点赞
收藏
分享

微信扫一扫

oracle 触发器

是她丫 2022-08-15 阅读 73


触发器的时机,有before和after。二者使用场合肯定不一样。我想到的是:

1、before:插入或修改前,一般是针对本表操作做一些补充和完善
2、after:插入或修改后,可以针对关联表做一些操作

举个栗子:

create or replace trigger trg_alert_level
before insert on hy_data_handle_record
for each row
declare
-- local variables here
begin

select max(s_level) into :NEW.ALERT_LEVEL from(
select :NEW.l_ph s_level from dual
union all
select :NEW.l_do s_level from dual
union all
select :NEW.l_cod s_level from dual
union all
select :NEW.l_andan s_level from dual
union all
select :NEW.l_wujidan s_level from dual
union all
select :NEW.l_linsuanyan s_level from dual
union all
select :NEW.l_zonglin s_level from dual
union all
select :NEW.l_vedio s_level from

end

上面这个触发器,就是在记录插入前,从该记录的一系列字段中找出一个最大值,付给字段alert_level,功效就是记录插入后,所有字段的值都妥妥的。
这个:NEW,就是正在插入的记录本身。

for update的也一样,也可以使用:NEW


举报

相关推荐

0 条评论