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

时间:2017-06-07 11:42:37

标签: oracle triggers calculated-columns

我正在使用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

表库存

|stcokin |               |stockout |                | total|
 |-------|               |---------|                |------|
|2|                        |5|                         | 23|

1 个答案:

答案 0 :(得分:0)

  • 您应该使用:=
  • 进行分配
  • 您应该在更新或插入之前编辑新值。更新后(例如)更新其他表
  • 我认为您的触发器名称也会导致问题。

这样:

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