[英]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.