Sql DB2触发器,在insert delete之后

Sql DB2触发器,在insert delete之后,sql,db2,Sql,Db2,我正在尝试编写一个触发器,以便在将记录插入历史记录表后从当前表中删除。我不确定delete(触发的sql操作)语句的语法。有点像: CREATE TRIGGER A.DELETE_AFTER_INSERT NO CASCADE AFTER INSERT ONT A.LOAN_HIST LH REFERENCING NEW AS NEWROW FOR EACH ROW MODE DB2SQL DELETE * FROM A.LOAN L --unsure about upcoming lines-

我正在尝试编写一个触发器,以便在将记录插入历史记录表后从当前表中删除。我不确定delete(触发的sql操作)语句的语法。有点像:

CREATE TRIGGER A.DELETE_AFTER_INSERT NO CASCADE AFTER INSERT ONT A.LOAN_HIST LH
REFERENCING NEW AS NEWROW FOR EACH ROW MODE DB2SQL
DELETE * FROM A.LOAN L
--unsure about upcoming lines--
WHERE A.LOAN.LOAN_ID=NEWROW.LOAN_ID;
END
基本上我不知道如何引用where子句。在手册中,我似乎需要一个when,我不知道如何在这里实现。我也不确定是否可以在这里使用表别名,例如“L”和“LH”


我不能仅仅测试它,因为我没有创建触发器的特权。

正如AngocA所指出的,您应该安装DB2LUW并使用它

如果有用的话,这是我以前用过的样板:

 CREATE OR replace TRIGGER "trigger_name" AFTER 
 insert or delete or update ON TABLE_NAME REFERENCING NEW AS newrow OLD AS oldrow 
 FOR EACH ROW MODE DB2SQL 
BEGIN 
    declare ...
    IF INSERTING THEN 
       ...
    ELSEIF DELETING THEN 
       ...
    ELSEIF UPDATING THEN 
       ...
    END IF; 
END 

不知道你的问题是什么。您希望有人检查一下手册并告诉您语法哪里不正确吗?您可以安装DB2Express-C并在自己的机器上进行测试。