[英]After insert trigger in mysql
我正在尝试在mysql中编写一个触发器,该触发器在插入表后运行。 插入后,它从attrValue列获取一个值,其中attrType等于“ datetime”,并更新另一个称为attrMd的列。
这是我目前的尝试,但一直说我在第4行有一个语法值:
我不知道。 任何帮助深表感谢。 谢谢...
CREATE TRIGGER upd_check BEFORE INSERT ON def_servpath_0001_weatherstation
FOR EACH ROW
BEGIN
DECLARE someString text;
FOR EACH ROW
BEGIN
IF NEW.atrType = 'datetime' THEN
SET @someString := NEW.atrValue;
END IF;
END;
FOR EACH ROW
BEGIN
IF NEW.atrType <> 'datetime' THEN
SET NEW.atrMD = someString;
END IF;
END;
END;//
需要考虑的几点:
DELIMITER
选项。 @someString
)和局部变量13.6.4.1局部变量DECLARE语法 ( someString
)是不同的变量。 FOR EACH ROW
)。 CREATE TRIGGER upd_check BEFORE INSERT ON def_servpath_0001_weatherstation
FOR EACH ROW
BEGIN
DECLARE someString text;
-- FOR EACH ROW
BEGIN
IF NEW.atrType = 'datetime' THEN
SET @someString := NEW.atrValue;
END IF;
END;
-- FOR EACH ROW
BEGIN
IF NEW.atrType <> 'datetime' THEN
SET NEW.atrMD = someString;
END IF;
END;
END;//
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.