gaussdb创建触发器遇到了问题,麻烦解决一下
--建表
CREATE TABLE T1
(
ID NUMBER(14,20) NOT NULL PRIMARY KEY,
WAFER_START_TIME TIMESTAMP
);
CREATE TABLE T2
(
ID NUMBER(14,20) NOT NULL PRIMARY KEY,
WAFER_START_TIME TIMESTAMP
);
-- 插入数据
INSERT T1
VALUES
(1001,null);
INSERT T1
VALUES
(11002,NOW());
-- 创建函数
CREATE OR REPLACE FUNCTION tri_update_func()
RETURNS TRIGGER AS $TRIGGER_UPDATE$
BEGIN
IF OLD.birth IS NULL AND NEW.birth IS NOT NULL THEN
INSERT INTO T2(ID,birth)
VALUES (NEW.ID,NEW.birth);
END IF;
RETURN NEW;
END;
$TRIGGER_UPDATE$ LANGUAGE PLPGSQL;
--创建UPDATE触发器
CREATE TRIGGER TRIGGER_UPDATE
AFTER UPDATE ON TH_Z_BACKUP_TEST1
FOR EACH ROW
BEGIN
EXECUTE PROCEDURE tri_update_func();
END;
-- 通过update语句触发触发器报错
UPDATE T1 a
SET a.WAFER_START_TIME = NOW()
WHERE a.ID ='1001';
[4:20] PLC-00601 Sql syntax error: IMMEDIATE expected
这个报错非常古怪根本没法执行,谁能解答一下