0

我必须表名为“东西”和“给定”。我想在“东西”中再添加一个列,在 ALTER TABLE 之后我使用了 UPDATE。然而,这只是在那一刻有所不同。我的意思是, m new 列将在每个给定数量之后给出库存数量。'stuff' 有 'totalAmount' 和 given 有 'amount'。

我用了:

ALTER TABLE stuff ADD stock MEDIUMUNINT UNSIGNED;

UPDATE stuff SET stuff = totalAmount - (SELECT SUM(given.amount) FROM given WHERE id = given.productId);

这仅适用于该 UPDATE。我怎样才能使这两个表在每个给定数量之后如此同步,库存也会受到影响?

提前致谢 :)

4

1 回答 1

0

在 INSERT 上为表“given”创建一个触发器,它将更新表“stuff”中的“stuff”

CREATE TRIGGER [TRIGGER_ALTER_STUFF] ON [dbo].[given] 
FOR INSERT, UPDATE
AS
BEGIN
    UPDATE stuff SET stuff = totalAmount - (SELECT SUM(given.amount) FROM given WHERE id = given.productId);
END
于 2013-07-29T07:00:01.900 回答