是否可以像我现在尝试的那样使用 where 语句?
Is it possible to use where statements like I am trying to right now?
我有 4 个 table 一个 "IN SHOP" table,它有一个变量 "How many games in shop",没有主键和 "Shop" 的 2 个伪造键,其中 prmary key 是 ID 和 "Game" 其中主键也是 ID。现在我有一个 table "Purchase",它有一个 ID 主键和 "Shop ID" 和 "Game ID" 的伪造键。现在我做了一个触发器,一旦一个新的 PURCHASe 被添加到“PURCAHSE table 然后每个游戏编号都会下降但是我希望它会在一个特定商店中的一个特定游戏中下降。现在我有:
CREATE TRIGGER delete AFTER INSERT ON purchase
BEGIN
UPDATE In_SHOP
SET HMGIS= HMGIS-1
WHERE IN_SHOP.SHOP_ID = PURCHASE.SHOP_ID
AND IN_SHOP.GAME_ID = PURCHASE.ID_GAME
END
您需要使用 inserted
视图:
CREATE TRIGGER delete AFTER INSERT ON purchase
BEGIN
UPDATE In_SHOP
SET HMGIS= HMGIS-1
FROM inserted i
WHERE IN_SHOP.SHOP_ID = i.SHOP_ID AND IN_SHOP.GAME_ID = i.ID_GAME;
END;
您专门询问了 WHERE
子句。这通常会写成 JOIN
:
CREATE TRIGGER delete AFTER INSERT ON purchase
BEGIN
UPDATE s
SET HMGIS = HMGIS - 1
FROM IN_SHOP s JOIN
inserted i
ON s.SHOP_ID = i.SHOP_ID AND s.GAME_ID = i.ID_GAME;
END;
我有 4 个 table 一个 "IN SHOP" table,它有一个变量 "How many games in shop",没有主键和 "Shop" 的 2 个伪造键,其中 prmary key 是 ID 和 "Game" 其中主键也是 ID。现在我有一个 table "Purchase",它有一个 ID 主键和 "Shop ID" 和 "Game ID" 的伪造键。现在我做了一个触发器,一旦一个新的 PURCHASe 被添加到“PURCAHSE table 然后每个游戏编号都会下降但是我希望它会在一个特定商店中的一个特定游戏中下降。现在我有:
CREATE TRIGGER delete AFTER INSERT ON purchase
BEGIN
UPDATE In_SHOP
SET HMGIS= HMGIS-1
WHERE IN_SHOP.SHOP_ID = PURCHASE.SHOP_ID
AND IN_SHOP.GAME_ID = PURCHASE.ID_GAME
END
您需要使用 inserted
视图:
CREATE TRIGGER delete AFTER INSERT ON purchase
BEGIN
UPDATE In_SHOP
SET HMGIS= HMGIS-1
FROM inserted i
WHERE IN_SHOP.SHOP_ID = i.SHOP_ID AND IN_SHOP.GAME_ID = i.ID_GAME;
END;
您专门询问了 WHERE
子句。这通常会写成 JOIN
:
CREATE TRIGGER delete AFTER INSERT ON purchase
BEGIN
UPDATE s
SET HMGIS = HMGIS - 1
FROM IN_SHOP s JOIN
inserted i
ON s.SHOP_ID = i.SHOP_ID AND s.GAME_ID = i.ID_GAME;
END;