Ver Mensaje Individual
  #1  
Antiguo 30-10-2015
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Ubicación: Toledo - España
Posts: 1.418
Reputación: 21
Angel.Matilla Va por buen camino
Aprendiendo a usar triggers en FB

Reconozco que hasta ahora me había ido bien sin usar estos elementos pero también reconozco que después de leer mucho tienen una potencia tremenda y son muy útiles. Bien: Tengo esta tabla:

en la que quiero crear un trigger que se ejecute antes de actualizarla de forma que si el campo Estado vale 1 rechace la transación y no permita continuar. Para ello creo que el código habría de ser este:
Código PHP:
CREATE EXCEPTION Usuario_Conectado 'Usuario activo en otro terminal';

SET TERM ^ ;

CREATE TRIGGER USUARIOS_BU INTO Usuarios
    ACTIVE BEFORE UPDATE
    POSITION 0
AS
BEGIN
     
IF (OLD.Estado 1)
        
EXCEPTION Usuario_Conectado;
END^

SET TERM ;^ 
He estado probando con IBManager y en teoría se ejecuta bien:

Pero una vez ejecutado aparentemente sin errores, si consulto las propiedades de la tabla me encuentro con esto:

¡No hay nimngún trigger creado! Pero si trato de ejecutar nuevamente el CREATE, IBManager (FB) me lanza un mensaje de error que me informa que Exception USUARIO_CONECTADO already exists. ¿Qué puedo estar haciendo mal?
Responder Con Cita