我有两张桌子:
表MASTER 表SLAVE,其列ID始终与MASTER.ID
匹配我想在通过DB2触发器删除MASTER之前删除SLAVE。 这是我写的:
CREATE TRIGGER delete_slave
BEFORE DELETE ON MASTER
REFERENCING OLD AS o FOR EACH ROW
DELETE FROM SLAVE WHERE ID = o.ID;
当我在DB2 V10.5.0.3数据库上执行查询时,出现以下错误:
触发器" SCHEMA1.DELETE_SLAVE"使用不受支持的方式定义 触发了SQL语句.. SQLCODE = -797,SQLSTATE = 42987,DRIVER = 4.17.29 SQL代码:-797,SQL状态:42987
有人可以帮我确定触发的SQL语句中的错误吗?
提前多多谢谢你。
答案 0 :(得分:0)
好的,我找到了答案,
BEFORE触发器中的SQL-procedure-statement不能:包含任何内容 INSERT,DELETE或UPDATE操作,也不调用任何已定义的例程 使用MODIFIES SQL DATA,如果它不是复合SQL(已编译)。