DB2 触发器语法之前
DB2 before trigger syntax
我已经定义了这个触发器:
CREATE TRIGGER actualizarSaldoIngreso
BEFORE INSERT ON Ingreso
FOR EACH ROW MODE DB2SQL
BEGIN ATOMIC
UPDATE Cliente SET Nombre = 'Juan' WHERE DNI = '87366034M';
END;
但是 DB2 returns 这个错误:
An unexpected token "END-OF-STATEMENT" was found following "RE DNI = '87366034M'". Expected tokens may include: "<delim_semicolon>"
有什么想法吗?
您需要像这样更改终止符:
--#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 ;
使用不同的终止符,批处理不会过早执行。
我已经定义了这个触发器:
CREATE TRIGGER actualizarSaldoIngreso
BEFORE INSERT ON Ingreso
FOR EACH ROW MODE DB2SQL
BEGIN ATOMIC
UPDATE Cliente SET Nombre = 'Juan' WHERE DNI = '87366034M';
END;
但是 DB2 returns 这个错误:
An unexpected token "END-OF-STATEMENT" was found following "RE DNI = '87366034M'". Expected tokens may include: "<delim_semicolon>"
有什么想法吗?
您需要像这样更改终止符:
--#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 ;
使用不同的终止符,批处理不会过早执行。