DB2 перед триггером - PullRequest
       48

DB2 перед триггером

1 голос
/ 09 апреля 2019

У меня есть этот триггер:

--#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 Ответ

1 голос
/ 09 апреля 2019

Это указано в описании CREATE TRIGGER :

Оператор SQL-процедуры в триггере BEFORE не может:

Содержит любые операции INSERT, DELETE или UPDATE, а также не вызывает никакой подпрограммы, определенной с помощью MODIFIES SQL DATA, если это не составной SQL ( compiled ).

Удалите ATOMIC или используйте AFTER INSERT триггер.

...