添加要从最后一次插入触发的数据

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

我面临以下情况:

enter image description here

我创建了一个触发器,该触发器在插入到第三张表时做出反应。当我插入任何数据(例如1 1 2)时,应从单元格的“库存量”列中减去最后一个数字,该数字必须为ID Product(如图所示)。但是我怎么才能知道最后添加的是哪一行呢?我以为首先要通过选择来完成,但是似乎不可能。现在我认为可以在游标的帮助下完成此操作,但它似乎并不是最好的选择。请问有更好的变种吗?

这是我的触发器代码,但不幸的是,每次仅从第一乘积中减去1。

CREATE TRIGGER AmountInsert ON Amount
AFTER INSERT
AS
BEGIN
    UPDATE Product
    SET Amount_On_Stock =
     (SELECT Amount_On_Stock FROM Product
    WHERE ID_Product = 1) - 1
    WHERE ID_Product = 1
END
sql sql-server database-trigger
1个回答
1
投票

您需要了解的第一件事是,在SQL Server的触发器中,提供了inserted pseudo-table and a deleted pseudo-table。您可以使用这些表来确定发生了哪些更改。

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