日期:2014-05-17  浏览次数:20847 次

【求助】Oracle中触发器如何做exists判断
RT
完成功能
表A、B,3个字段X,Y,Z

建立一个触发器,要求:在表A更新的时候,若某条信息更新后与更新前一致则不向表B中添加数据,否则insert该条记录到表B中。

用exists来判断。。。


------解决方案--------------------
触发器这么写
if :Old.字段名<>:new.字段名 then
Insert into B .....
end if
------解决方案--------------------
探讨
触发器这么写
if :Old.字段名<>:new.字段名 then
Insert into B .....
end if

------解决方案--------------------
create or replace trigger update_a
after update on A
for each row
when (old.x!=new.x or old.y!=new.y or old.z!=new.z)
declare
begin 
insert into b values (:new.x,:new.y,:new.z);
end;

上面触发器未测试。还有为什么要用exists判断?