简单触发器问题
有这样一个触发器
create or replace trigger test
before update of a,b,c on tbl
for each row
begin
if 更新的是a,b then --这里要怎么写
--
end if;
if 更新的是a,c then
--
end if;
end;
问题点数:20、回复次数:3Top
1 楼andy1995(发现一个不错的SQLServer网站:www.windbi.com)回复于 2003-12-01 10:12:58 得分 10
if :new.a<>:old.a and :new.b<>:old.b then
--
end if;
if :new.a<>:old.a and :new.c<>:old.c then
--
end if;Top
2 楼kevin218(张智勇)回复于 2003-12-01 10:39:20 得分 10
spool D:\log\update2.log
create or replace trigger tri_txzgxx_update
after update on yw_da_txzgxx
for each row
declare
-- local variables here
str_dwmc varchar2(40);
str_name varchar2(10);
str_cssj varchar2(10);
str_sex varchar2(3);
str_zip varchar2(20);
str_addr varchar2(40);
str_sfzh varchar2(20);
n_count number(2);
BEGIN
-- judge person died
IF (:NEW.grbh is not null) and (:NEW.ffztdm = '5') THEN
INSERT INTO finger01(
sbid,
notedate,
cmd,
flag)
VALUES ( :NEW.grbh,
sysdate,
5, --death
0 ) ;
END IF;
end tri_txzgxx_update;
/
spool offTop
3 楼kevin218(张智勇)回复于 2003-12-01 10:40:36 得分 0
我有个例子你看看,至于条件的话,就是借助两个表:new和old;
判断新旧表里的值是否发生改变。Top




