DB2 перед синтаксисом триггера - PullRequest
1 голос
/ 08 апреля 2019

Я определил этот триггер:

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

Но DB2 возвращает эту ошибку:

An unexpected token "END-OF-STATEMENT" was found following "RE DNI = '87366034M'". Expected tokens may include: "<delim_semicolon>"

Есть идеи?

1 Ответ

1 голос
/ 08 апреля 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 ;

При использовании другого терминатора пакет не выполняется преждевременно.

...