我想为表创建更新触发器。触发器已创建,但是当我更新列finish
时,它会说变异表。
这是我的代码
CREATE OR REPLACE TRIGGER SET_COST BEFORE UPDATE OF finish ON PAY
FOR EACH ROW
BEGIN
UPDATE PAY
SET PAY.COST = (finish-start) * 20000
WHERE PAY.ID=:new.ID;
END;
这个触发器给了我'Mutating Table'错误,到目前为止我一直无法修复它。有什么建议吗?感谢
答案 0 :(得分:2)
首先,你根本不应该这样做。无论何时需要,都无法存储容易计算的值。
截至您的问题:没有更新:
begin
:new.cost := (:new.finish - :new.start) * 20000;
end;