有三张表结构入下:
A B C
ID STATUS ID PRICE ID num
当表A的STATUS值改为1的时候,把C表的NUM加上B表的PRICE,条件是A B两个表的ID号相等。
当表A的STATUS值改为0的时候,把C表的NUM减去B表的PRICE,条件相同。
A B C
ID STATUS ID PRICE ID num
当表A的STATUS值改为1的时候,把C表的NUM加上B表的PRICE,条件是A B两个表的ID号相等。
当表A的STATUS值改为0的时候,把C表的NUM减去B表的PRICE,条件相同。
for each row
begin
if :new.status=1 then
update c set c.num=(select c.num+b.price from b where b.id=c.id) where c.id=:new.id;
elsif :new.status=0 then
update c set c.num=(select c.num-b.price from b where b.id=c.id) where c.id=:new.id;
end if;
end trg_a;
/
...