gaussdb中触发器如何使用,我查询了很多网上的教程用了很多方法,发现我的触发器执行一直有错误。
原语句如下:
-- 建表
CREATE T1
(
ID NUMBER(14,20) NOT NULL PRIMARY KEY,
birth TIMESTAMP
);
CREATE TABLE T2 LIKE T1;
-- 插入数据
INSERT INTO T1
VALUES
(1001,null);
INSERT INTO T1
VALUES
(1002,NOW());
-- 创建触发器
create trigger TRIGGER_UPDATE AFTER UPDATE on T1 FOR EACH ROW
DECLARE
IF NEW.birth IS NOT NULL AND OLD.birth IS NULL THEN
insert into T2(ID,birth)
VALUES (NEW.ID,NEW.birth);
END IF;
-- 最后执行更新语句后报错
UPDATE T1 a
SET a.birth = NOW()
WHERE a.ID ='1001';
报错信息如下:PLC-00601 Sql syntax error: datatype expected, but got 'NEW'
这个错误好几次,要么就是invalid column NEW
这里很奇怪,我在MySQL中运行的好好的没有任何问题,一到gaussdb就各种问题,有没有哪位会的,解答一下