减去两列然后添加一些值并使用 oracle 中的触发器插入第三列

subtract two columns then add some value and insert in third column using trigger in oracle

我正在使用 oracle 10 g 我被告知要使用触发器来完成这项任务我想出了这个

|`create trigger total
on inventory
after insert or update
for each row 
begin set 
:new.total=:new.stockin - :new.stockout +20;
end;`|

错误丢失之前,之后 我想要总计 = stockin -stockout + 20

table库存

|stcokin |               |stockout |                | total|
 |-------|               |---------|                |------|
|2|                        |5|                         | 23|
  • 您应该使用 :=
  • 分配
  • 您应该在更新或插入之前编辑新值。更新后(例如)更新其他表
  • 我认为您的触发器名称也引起了问题。

所以:

CREATE OR REPLACE TRIGGER trg_total BEFORE INSERT OR UPDATE ON inventory
FOR EACH ROW
BEGIN
    :NEW.total := :NEW.stockin - :NEW.stockout + 20;
END;