saltarse un disparador

04/03/2004 - 17:25 por edu | Informe spam
como puedo hacer para que en una determinada ocasion no se ejecute un
disparador asociado a una tabla?
hay alguna manera de anular un disparador en una situacion concreta?
gracias

Preguntas similare

Leer las respuestas

#1 Adrian D. Garcia
04/03/2004 - 17:28 | Informe spam
Si es por una unica vez (ej.: quieres realizar una actualizacion masiva) lo
que puedes hacer es eliminar el disparador (trigger) y luego volver a
crearlo.
Ahora si lo que quieres es que el disparador no se ejecute bajo determinadas
condiciones de negocio entonces no va a quedar otra que seguir alguna de
estas opciones:

1) Agregar la logica de si se ejecuta o no dentro del disparador.
2) Eliminar el disparador y crear un procedimiento almacenado para
actualizar la tabla con la logica del disparador enbebida dentro de el.

Todo depende de si deseas pasar o no parametros "foraneos" a los datos de la
tabla que se esta modificando.

Saludos

Adrian D. Garcia
NDSoft
MCSD
"edu" escribió en el mensaje
news:c27kt7$l32$
como puedo hacer para que en una determinada ocasion no se ejecute un
disparador asociado a una tabla?
hay alguna manera de anular un disparador en una situacion concreta?
gracias


Respuesta Responder a este mensaje
#2 Javier Loria
04/03/2004 - 17:41 | Informe spam
Hola:
Puedes deshabilitarlo y habilitarlo:
=ALTER TABLE MiTabla DISABLE TRIGGER MiTriggers
...
ALTER TABLE MiTabla ENABLE TRIGGER MiTrigger
=Si son varias y quieres deshabilitarlos todos puedes hacerlo reemplazaon
MiTrigger por ALL.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
edu escribio:
como puedo hacer para que en una determinada ocasion no se ejecute un
disparador asociado a una tabla?
hay alguna manera de anular un disparador en una situacion concreta?
gracias
Respuesta Responder a este mensaje
#3 ulises
04/03/2004 - 17:54 | Informe spam
Si bien el trigger puede ser habilitado o deshabilitado,
particularmente prefiero que la lógica se maneje dentro
del trigger, podría ser que durante su deshabilitación se
produzcan actualizaciones que hubieran merecido la
habilitación del trigger, ahora si es para utilizarlo
fuera de horas de uso de la base de datos para trabajos de
carga masiva donde se tenga el control ... go ahead!. :)

Saludos,
Ulises

Hola:
Puedes deshabilitarlo y habilitarlo:
=>ALTER TABLE MiTabla DISABLE TRIGGER MiTriggers

ALTER TABLE MiTabla ENABLE TRIGGER MiTrigger
=>Si son varias y quieres deshabilitarlos todos puedes


hacerlo reemplazaon
MiTrigger por ALL.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
edu escribio:
como puedo hacer para que en una determinada ocasion no




se ejecute un
disparador asociado a una tabla?
hay alguna manera de anular un disparador en una




situacion concreta?
gracias




.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida