使用触发器(包含XML)将DB2行复制到历史记录表中
问题描述:
我想将包含XML列的行复制到历史记录表。似乎不可能这样做?!使用触发器(包含XML)将DB2行复制到历史记录表中
我曾尝试:
CREATE TRIGGER MARTIN."Pages_I" BEFORE UPDATE OF "tstamp" ON MARTIN."Pages" REFERENCING OLD AS old_row FOR EACH ROW MODE DB2SQL SECURED
INSERT INTO "MARTIN"."HistoryPages" VALUES (old_row."pageId", (SELECT "pageXML" FROM "MARTIN"."Pages" WHERE "pageId" = old_row."pageId" LIMIT 1), old_row."tstamp");
=>不允许由于插入BEFORE触发
CREATE TRIGGER MARTIN."Pages_I" AFTER UPDATE OF "tstamp" ON MARTIN."Pages" REFERENCING OLD AS old_row FOR EACH ROW MODE DB2SQL SECURED
INSERT INTO "MARTIN"."HistoryPages" VALUES (old_row."pageId", old_row."pageXML", old_row."tstamp");
=>不能引用old_row “pageXML”,因为它是一个XML列
。有没有解决这个困境的方法?
答
似乎没有解决方案,这只是数据库系统的限制。