【发布时间】:2013-05-30 01:41:02
【问题描述】:
我试图在插入后在一个表上创建一个触发器,它将更新另一个表。
这是我尝试过的代码:
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 附近的整数;将@code 声明为整数;选择@qte = qteInv 从插入;第 4 行的 S'
【问题讨论】:
-
我认为您需要在存储过程或触发器中选择 INTO。您不能只让一个选择自行挂起。另外,请仔细检查您是否必须使用
:=而不是=