我必须在表TABLE_A上写一个after delete触发器,它应该在另一个表TABLE_B中插入记录。
这里我必须从另一个表TABLE_C上的连接中获取2列,以便将它插入TABLE_B。
以下是我的触发器:
CREATE TRIGGER SCHEMA_A.TABLE_A_TRIG
AFTER DELETE ON SCHEMA_A.TABLE_A
REFERENCING OLD AS O
FOR EACH ROW
INSERT INTO SCHEMA_A.TABLE_B(GIN,COL_A,COL_B,COL_C)
SELECT A.GIN,A.COL_A,C.COL_B,C.COL_C FROM SCHEMA_A.TABLE_A A LEFT OUTER JOIN SCHEMA_A.TABLE_C C ON A.GIN=C.GIN WHERE A.GIN=O.GIN
问题:
不确定此触发器中缺少什么,因为它没有在TABLE_B中插入任何记录,但是TABLE_A上的删除成功。
我通过各种论坛,但可以找出上述触发器中的问题。
但是当我使用select执行Insert查询时,它工作正常,并在TABLE_B中插入记录。
请帮助我找到此触发器中缺少的内容。我在IBM DB2 v 10上。