create or replace trigger updateA
after update on A
for each row
begin
if :old.AA != :new.AA then
begin
update B set AA=:new.AA where id=:old.id;
end;
end if; if :old.BB != :new.BB then
begin
update B set BB=:new.BB where id=:old.id;
end;
end if;
end;
两个表 A.(id,AA,BB) B(id,AA,BB)
更新A表 触发器更新B表.请教:
为什么我更新1个字段的时候可以完成. 只更新AA 或者 只 更新BB 都可以完成.
但是 如果我 一次更新2 个字段 update A set AA='11',BB='22' where id=1, 却只更新了 B 表的 AA 字段.为什么啊?该怎么写这个触发器呢. 谢谢
after update on A
for each row
begin
if :old.AA != :new.AA then
begin
update B set AA=:new.AA where id=:old.id;
end;
end if; if :old.BB != :new.BB then
begin
update B set BB=:new.BB where id=:old.id;
end;
end if;
end;
两个表 A.(id,AA,BB) B(id,AA,BB)
更新A表 触发器更新B表.请教:
为什么我更新1个字段的时候可以完成. 只更新AA 或者 只 更新BB 都可以完成.
但是 如果我 一次更新2 个字段 update A set AA='11',BB='22' where id=1, 却只更新了 B 表的 AA 字段.为什么啊?该怎么写这个触发器呢. 谢谢
create or replace trigger updateA
after update on A
for each row
begin
if :old.AA != :new.AA or :old.BB != :new.BB then
begin
update B set AA=:new.AA,BB=:new.BB where id=:old.id;
end;
end if;
end; 只用一个update语句就好了
after update of aa,bb on A
for each row
begin
if :old.AA != :new.AA then
begin
update B set AA=:new.AA where id=:old.id;
end;
end if; if :old.BB != :new.BB then
begin
update B set BB=:new.BB where id=:old.id;
end;
end if;
end;
AA 和 BB 是 字符型的.
应该怎么转下类型呢? 转成 num 的.?谢谢了.