Angel.Matilla
30-10-2015, 18:38:54
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:
http://i98.photobucket.com/albums/l251/Angel_Matilla/Tabla_zpss0lvqwjm.jpg
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:
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:
http://i98.photobucket.com/albums/l251/Angel_Matilla/Ejecucioacuten_zpsmxkbe6fd.jpg
Pero una vez ejecutado aparentemente sin errores, si consulto las propiedades de la tabla me encuentro con esto:
http://i98.photobucket.com/albums/l251/Angel_Matilla/Propiedades_zpsu88noqox.jpg
¡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?
http://i98.photobucket.com/albums/l251/Angel_Matilla/Tabla_zpss0lvqwjm.jpg
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:
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:
http://i98.photobucket.com/albums/l251/Angel_Matilla/Ejecucioacuten_zpsmxkbe6fd.jpg
Pero una vez ejecutado aparentemente sin errores, si consulto las propiedades de la tabla me encuentro con esto:
http://i98.photobucket.com/albums/l251/Angel_Matilla/Propiedades_zpsu88noqox.jpg
¡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?