SQL中的减法

问题描述 投票:0回答:1

我正在尝试创建这个触发器,让我从文章中存在的数量中减去刚刚售出的文章数量。唯独不能做减法。谁能帮帮我?先谢谢你

CREATE TRIGGER subtraction
AFTER INSERT ON SoldItems
FOR EACH ROW
BEGIN
DECLARE s INT(11);
DECLARE qta INT(11);
SELECT Quantity INTO s
FROM Articles
WHERE ID=NEW.IDArticle
SET s=s-NEW.Quantity
UPDATE Articles SET Quanty= s WHERE ID=NEW.IDArticle
END
mysql sql sql-update sql-insert database-trigger
1个回答
1
投票

不需要 select,计算,然后 update. 你可以用一个简单的 update 语句直接放在触发器中,就像这样。

delimiter //

create trigger subtraction
after insert on solditems
for each row
begin
    update articles 
    set quantity = quantity - new.quantity 
    where id = new.id_article;
end
//

delimiter ;
© www.soinside.com 2019 - 2024. All rights reserved.