【发布时间】:2018-12-20 14:34:22
【问题描述】:
我正在尝试创建一个触发器,将新插入和/或更新的记录从一个表复制到该表的历史版本。目的是在每次插入和/或更新表中的记录时保留记录。
这是我拥有的 Create Trigger 语句语法,遵循 IBM Db2 Trigger 站点。
CREATE TRIGGER "TADB2"."HIST_CSEMASTER_Z_LOG"
AFTER UPDATE ON TADB2.CSEMASTER_Z
REFERENCING NEW AS N
FOR EACH ROW
BEGIN ATOMIC
INSERT INTO TADB2.HIST_CSEMASTER_Z
values (N.CSEMASTERID, N.CURRID, N.SUBCURRID, N.EXPIREDATE, N.CREATEDATE, N.CUSTVIEWNUM, N.CSEMSTRNAME, N.JOINCODE, N.CONTACTCOUNTRYCD, N.CONTACTSERIALNUM, N.AUDIENCECD, N.SPONSORNAME, N.AVAILABLEDATE, N.OWNERCOUNTRYCD, N.OWNERSERIALNUM, N.PRMWWCHAPTERID, N.PRMWWSUBCHAPTERID, N.SECWWCHAPTERID, N.SECWWSUBCHAPTERID, N.INTRANETIND, N.TINSERTTS, N.TLASTUPDTS, N.IBM_TRADEMARK, N.OTHER_TRADEMARK, N.INTERNETIND, N.BRANDID, N.BUSINESSID, N.LIFECYCLE_STATUS);
END;
我收到的错误是:
[代码:-104,SQL 状态:42601] 在“N.LIFECYCLE_STATUS)”之后发现了意外的标记“END-OF-STATEMENT”。预期的标记可能包括:“”.. SQLCODE=-104, SQLSTATE=42601, DRIVER=3.72.44
我试过了:
- 删除 END
- 删除 END 后的分号
- 删除 N.LIFECYCLE_STATUS 后的分号);
任何帮助都会很棒!谢谢。
【问题讨论】:
标签: db2