触发器前的 DB2
DB2 before trigger
我有这个触发器:
--#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 ;
但是db2returns出现如下错误:
The trigger "DB2INST1.ACTUALIZARSALDOINGRESO" is defined with an unsupported triggered SQL statement
知道为什么吗?
在CREATE TRIGGER描述中说明:
The SQL-procedure-statement in a BEFORE trigger cannot:
Contain any INSERT, DELETE, or UPDATE operations, nor invoke any routine defined with MODIFIES SQL DATA, if it is not a compound SQL (compiled).
删除 ATOMIC
子句或使用 AFTER INSERT
触发器。
我有这个触发器:
--#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 ;
但是db2returns出现如下错误:
The trigger "DB2INST1.ACTUALIZARSALDOINGRESO" is defined with an unsupported triggered SQL statement
知道为什么吗?
在CREATE TRIGGER描述中说明:
The SQL-procedure-statement in a BEFORE trigger cannot:
Contain any INSERT, DELETE, or UPDATE operations, nor invoke any routine defined with MODIFIES SQL DATA, if it is not a compound SQL (compiled).
删除 ATOMIC
子句或使用 AFTER INSERT
触发器。