我試圖在插入後在表上創建一個觸發器,它將更新另一個表。在mysql中創建一個觸發器
這是我試過的代碼:
delimiter |
CREATE TRIGGER augmenter_quantite_article AFTER INSERT
ON LigneInterventaire
FOR EACH ROW BEGIN
DECLARE @qte AS INTEGER;
DECLARE @code AS INTEGER;
SELECT @qte = qteInv FROM INSERTED;
SELECT @code = codeArt FROM INSERTED;
UPDATE Article SET qteArt = qteArt + @qte WHERE codeArt = @code;
END;
|
delimiter ;
但我收到此錯誤信息:
1064 - 你在你的SQL語法錯誤;檢查手冊, 對應於您的MySQL服務器版本的正確語法使用 附近'@qte AS INTEGER; DECLARE @code AS INTEGER; SELECT @qte = qteInv FROM INSERTED; S」 4行
我認爲你需要在存儲過程或觸發器中選擇** INTO **。你不能只有一個選擇自己掛起。另外,請仔細檢查您是否必須使用':='而不是'=' – Sebas