Sql DB2触发器,在insert delete之后
我正在尝试编写一个触发器,以便在将记录插入历史记录表后从当前表中删除。我不确定delete(触发的sql操作)语句的语法。有点像: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-
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并在自己的机器上进行测试。