触发之前的DB2

时间:2019-04-09 08:17:01

标签: database triggers db2 database-trigger db2-express-c

我有这个触发器:

--#SET TERMINATOR @
CREATE TRIGGER actualizarSaldoIngreso
BEFORE INSERT ON Ingreso
FOR EACH ROW MODE DB2SQL
BEGIN ATOMIC
    UPDATE Cliente SET Nombre = 'Juan' WHERE DNI = '87366034M';
END@
--#SET TERMINATOR ;

但是db2返回以下错误:

The trigger "DB2INST1.ACTUALIZARSALDOINGRESO" is defined with an unsupported triggered SQL statement

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

它在CREATE TRIGGER描述中表示:

  

BEFORE触发器中的 SQL-procedure-statement 无法:

     

如果不是复合SQL(已编译),则包含任何INSERT,DELETE或UPDATE操作,也不调用使用MODIFIES SQL DATA定义的任何例程。

删除ATOMIC子句或使用AFTER INSERT触发器。