executar un trigger desde otro trigger?

17/06/2004 - 21:19 por ONil | Informe spam
Hola Amigos !

Tengo el siguiente codigo

CREATE TRIGGER insBloqueo ON RES_BLOQUEO
FOR INSERT
AS
DECLARE @CANTIDAD INT
DECLARE @VUELO INT
DECLARE @HOTEL INT
DECLARE @FECHA DATETIME
DECLARE @FECHA2 DATETIME
DECLARE @MOV VARCHAR(3)

SELECT
@CANTIDAD = CANTIDAD_BLOQUEO,
@VUELO = NUMERO_VUELO,
@FECHA = FECHA_INICIO,
@FECHA2 = FECHA_FIN,
@MOV = TIPO_MOV,
@HOTEL = ID_HOTEL
FROM
INSERTED

IF @MOV = 'PAX'
BEGIN
UPDATE RES_FRECUENCIA_VUELO
SET ASIENTOS_RESERVADOS = ASIENTOS_RESERVADOS + @CANTIDAD
WHERE NUMERO_VUELO = @VUELO
AND FECHA_VUELO = @FECHA

DELETE FROM RES_BLOQUEO
WHERE
DateDiff(minute,Convert(Varchar(5),HORA_BLOQUEO,108),Convert(Varchar(5),GetD
ate(),108)) > 1
END
CREATE TRIGGER delBloqueo ON RES_BLOQUEO
INSTEAD OF DELETE
AS

DECLARE @CANTIDAD INT
DECLARE @VUELO INT
DECLARE @HOTEL INT
DECLARE @FECHA DATETIME
DECLARE @FECHA2 DATETIME
DECLARE @MOV VARCHAR(3)


SELECT
@CANTIDAD = CANTIDAD_BLOQUEO,
@VUELO = NUMERO_VUELO,
@FECHA = FECHA_INICIO,
@FECHA2 = FECHA_FIN,
@MOV = TIPO_MOV,
@HOTEL = ID_HOTEL
FROM
DELETED

IF @MOV = 'PAX'
BEGIN
UPDATE RES_FRECUENCIA_VUELO
SET ASIENTOS_RESERVADOS = ASIENTOS_RESERVADOS - @CANTIDAD
WHERE NUMERO_VUELO = @VUELO
AND FECHA_VUELO = @FECHA
END

Alguno de uds. podria orientarme porque no se dispara este ultimo trigger
cuando hago el delete desde el primer trigger..?

Preguntas similare

Leer las respuestas

#1 Isaías
18/06/2004 - 01:55 | Informe spam
En mas de una ocasion, hemos sugerido lean su BOL, antes
de plantear su pregunta (a mi me ha pasado !!!!!):

Desencadenadores recursivos
SQL Server permite también la invocación recursiva de
desencadenadores cuando el valor recursive triggers está
habilitado en sp_dboption.
Respuesta Responder a este mensaje
#2 ONil
18/06/2004 - 03:36 | Informe spam
Hola !
Por si alguna persona lo necesita..

Respuesta :
Se requiere tener activada la opcion
nestedtriggers.
Ver sp_option en los BOL.

Salu2.
(\__/)
(=':'=)
(")_(")

MX.

"ONil@" escribió en el mensaje
news:u9zj4$
Hola Amigos !

Tengo el siguiente codigo

CREATE TRIGGER insBloqueo ON RES_BLOQUEO
FOR INSERT
AS
DECLARE @CANTIDAD INT
DECLARE @VUELO INT
DECLARE @HOTEL INT
DECLARE @FECHA DATETIME
DECLARE @FECHA2 DATETIME
DECLARE @MOV VARCHAR(3)

SELECT
@CANTIDAD = CANTIDAD_BLOQUEO,
@VUELO = NUMERO_VUELO,
@FECHA = FECHA_INICIO,
@FECHA2 = FECHA_FIN,
@MOV = TIPO_MOV,
@HOTEL = ID_HOTEL
FROM
INSERTED

IF @MOV = 'PAX'
BEGIN
UPDATE RES_FRECUENCIA_VUELO
SET ASIENTOS_RESERVADOS = ASIENTOS_RESERVADOS + @CANTIDAD
WHERE NUMERO_VUELO = @VUELO
AND FECHA_VUELO = @FECHA

DELETE FROM RES_BLOQUEO
WHERE



DateDiff(minute,Convert(Varchar(5),HORA_BLOQUEO,108),Convert(Varchar(5),GetD
ate(),108)) > 1
END
> CREATE TRIGGER delBloqueo ON RES_BLOQUEO
INSTEAD OF DELETE
AS

DECLARE @CANTIDAD INT
DECLARE @VUELO INT
DECLARE @HOTEL INT
DECLARE @FECHA DATETIME
DECLARE @FECHA2 DATETIME
DECLARE @MOV VARCHAR(3)


SELECT
@CANTIDAD = CANTIDAD_BLOQUEO,
@VUELO = NUMERO_VUELO,
@FECHA = FECHA_INICIO,
@FECHA2 = FECHA_FIN,
@MOV = TIPO_MOV,
@HOTEL = ID_HOTEL
FROM
DELETED

IF @MOV = 'PAX'
BEGIN
UPDATE RES_FRECUENCIA_VUELO
SET ASIENTOS_RESERVADOS = ASIENTOS_RESERVADOS - @CANTIDAD
WHERE NUMERO_VUELO = @VUELO
AND FECHA_VUELO = @FECHA
END

Alguno de uds. podria orientarme porque no se dispara este ultimo trigger
cuando hago el delete desde el primer trigger..?












Respuesta Responder a este mensaje
#3 ONil
18/06/2004 - 06:51 | Informe spam
Hola Isaias..!

Muchas gracias..!

Efectivamente! , localize la respuesta e inclusive la puse aqui mismo por
si a alguien mas le servia.., sin embargo no aparece
aùn..(un problema de mi server en la compañia..)

Pero tienes mucha razon... debo de aplicarme mas con los BOL.. procurare
no ocurra de nuevo..!

Recibe Salu2.
(\__/)
(=':'=)
(")_(")

MX.


"Isaías" escribió en el mensaje
news:1e17401c454c6$991451c0$
En mas de una ocasion, hemos sugerido lean su BOL, antes
de plantear su pregunta (a mi me ha pasado !!!!!):

Desencadenadores recursivos
SQL Server permite también la invocación recursiva de
desencadenadores cuando el valor recursive triggers está
habilitado en sp_dboption.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida