Ver Mensaje Individual
  #1  
Antiguo 21-09-2011
Avatar de Antoniov
Antoniov Antoniov is offline
Miembro
NULL
 
Registrado: ago 2011
Ubicación: Tenerife
Posts: 42
Reputación: 0
Antoniov Va por buen camino
Trigger en Firebird

Tengo un Trigger en el evento Before Insert que funciona perfectamente.

Código SQL [-]
SET TERM ^ ;

CREATE TRIGGER BI_DOCUMENTOS_CODDOCUMENTO FOR DOCUMENTOS
ACTIVE BEFORE INSERT
POSITION 0
AS
BEGIN
  IF (NEW.CODDOCUMENTO IS NULL) THEN
      NEW.CODDOCUMENTO = GEN_ID(DOCUMENTOS_CODDOCUMENTO_GEN, 1);
END^

SET TERM ; ^

Pero cuando intento poner otro Trigger en otros eventos como After Insert, me da un mensaje de error el el nombre del campo. Incluso copiando el anterior me da error

Código SQL [-]
ALTER TRIGGER DOCUMENTOS_AI_NUM_DOCS
ACTIVE AFTER INSERT
POSITION 0
AS
BEGIN
  /* Trigger body */
  IF (NEW.CODDOCUMENTO IS NULL) THEN
      CODDOCUMENTO = GEN_ID(DOCUMENTOS_CODDOCUMENTO_GEN, 1);  
END;

Este es el error:
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
CODDOCUMENTO.
At line 8, column 7.



Alguien tiene ejemplos hechos por él de triggers? Podría mostrar alguno?
No entiendo por qué da error en los nombres de los campos, que están correctamente escritos.
__________________
Blog Delphi XE
Responder Con Cita