琢磨了几天没有琢磨出来,请CSDN上的朋友们帮忙了
table:file1
columns:amount
a
b
c
我想是a、b、c中任一个栏位数值有变动,或者table记录有新增,会自动计算这三个字段的和到amount中。create or replace trigger file1_amount
after insert or update on erp.file1
for each row
begin
update erp.file1 set amount = nvl(:new.a,0) + nvl(:new.b,0) + nvl(:new.c,0);
end;原先这样的写法有错误。
请大家帮忙了,谢谢!
table:file1
columns:amount
a
b
c
我想是a、b、c中任一个栏位数值有变动,或者table记录有新增,会自动计算这三个字段的和到amount中。create or replace trigger file1_amount
after insert or update on erp.file1
for each row
begin
update erp.file1 set amount = nvl(:new.a,0) + nvl(:new.b,0) + nvl(:new.c,0);
end;原先这样的写法有错误。
请大家帮忙了,谢谢!
可是你是多记录的,难道每一行都放一个?
当数据越来越多时,锁表、大批更新将给你带来很大的麻烦。还有,你这个不能通过trigger实现,或者你可以通过procedure实现。