Я определил этот триггер:
--#SET TERMINATOR @
CREATE TRIGGER actualizarSaldoIngreso
BEFORE INSERT ON Ingreso
FOR EACH ROW MODE DB2SQL
BEGIN
UPDATE Cuenta SET Saldo = Saldo + NEW.Cantidad WHERE IBAN = NEW.Cuenta_IBAN;
END@
--#SET TERMINATOR ;
Но db2 возвращает эту ошибку. Любые идеи, чтобы решить эту проблему?
"NEW.CANTIDAD" is not valid in the context where it is used.
--#SET TERMINATOR @
CREATE TRIGGER actualizarSaldoIngreso
BEFORE INSERT ON Ingreso
REFERENCING NEW as N
FOR EACH ROW MODE DB2SQL
BEGIN
UPDATE Cuenta SET Saldo = Saldo + N.Cantidad WHERE IBAN = N.Cuenta_IBAN;
END@
--#SET TERMINATOR ;
Ваш синтаксис недействителен, вы должны использовать предложение REFERENCING в определении триггера, чтобы связать псевдоним для строки NEW.