PL / SQL触发器和多个更新

时间:2014-02-11 19:17:11

标签: sql plsql triggers relational-database

我写了一个触发器,只有在产品价格比成本高出至少10%时才允许更新产品价格。当我更新一个产品价格时它似乎正在工作,但我需要它能够一次更新多个产品。有什么建议?感谢任何可以提供帮助的人。

create or replace TRIGGER P_check
BEFORE UPDATE ON ProductCat
FOR EACH ROW
BEGIN
IF (:new.ListPrice < :old.TotalCost * 1.1) THEN
 raise_application_error (-20500, :new.ListPrice || ' is too low so the price stays '  ||:old.ListPrice);
 ELSE
 dbms_output.put_line ('Price was updated and the new price is ' || :new.ListPrice);
 END IF;
END;

1 个答案:

答案 0 :(得分:0)

应该可以正常工作。您将触发器定义为FOR EACH ROW;因此,将为ProductCat中更改的每一行调用您的触发器。

分享并享受。