A continuación comparto un ejemplo de sintaxis de un trigger en DB2.
Aunque en la documentación está más que claro, siempre va bien contar con un ejemplo concreto y típico de su utilización.
CREATE TRIGGER verificacion_datos NO CASCADE BEFORE UPDATE ON facturas REFERENCING OLD AS O NEW AS N FOR EACH ROW MODE DB2SQL BEGIN ATOMIC IF (O.FACT_NOMBRE <> N.FACT_NOMBRE) THEN SIGNAL SQLSTATE 'Z0001' ('UPDATE CON NOMBRE DISTINTO'); END IF; IF (O.FACT_NIF <> N.FACT_NIF) THEN SIGNAL SQLSTATE 'Z0002' ('UPDATE CON NIF DISTINTO'); END IF; IF (O.ID_EMPRESA <> N.ID_EMPRESA) THEN SIGNAL SQLSTATE 'Z0003' ('UPDATE CON ID_EMPRESA DISTINTO'); END IF; END