我对使用触发器有点新意,我正在尝试创建一个触发器,在订购产品时更新库存。我知道这是错的,因为我不能使用ROW,并且在使用ROW前缀时也会出错。那么下面的触发器应该怎么写呢?
CREATE TRIGGER changestock AFTER INSERT ON productorder
FOR EACH ROW
UPDATE product
SET product.stock = product.stock - ROW.orderamount
WHERE product.productcode = ROW.productcode
答案 0 :(得分:2)
使用NEW代替ROW .. NEW指的是刚刚插入的记录。您可以使用NEW从该记录中获取columnNames。在列名称之前:
CREATE TRIGGER changestock AFTER INSERT ON productorder
FOR EACH ROW
UPDATE product
SET product.stock = product.stock - NEW.orderamount
WHERE product.productcode = NEW.productcode