#sql #database #plsql #db2 #db2-express-c
#sql #База данных #plsql #db2 #db2-express-c
Вопрос:
Я определил этот триггер:
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:
Вам нужно изменить терминатор следующим образом :
--#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 ;
С другим терминатором пакет не выполняется преждевременно.