Dos UPDATE por un INSERT (TRIGGER)

10/06/2004 - 19:59 por Isaías | Informe spam
Me doy por vencido

He creado en una tabla, el siguiente trigger (INSERT):

CREATE TRIGGER AUDITins_AUTO ON AUTO FOR INSERT AS
SET NOCOUNT ON
DECLARE @cUsuarioAlias varchar(20), @SPIDUSER VARCHAR(10)
SELECT @cUsuarioAlias = cUsuarioAlias, @SPIDUSER = UR_SPID
FROM USER_REGISTER WHERE UR_SPID = @@SPID
INSERT INTO AUDIT
(UR_SPID,cAuditTipo_Eevento,cUsuarioAlias,dAuditFechaRegist
ro,cAuditDescripcion,cAuditTerminal,cAuditAplicacion)
SELECT @SPIDUSER,'INSERT', @cUsuarioAlias,getdate(),'AUTO -
INSERT de un registro', host_name(),APP_NAME()

Y tambien tengo este otro (UPDATE)

CREATE TRIGGER AUDITupd_AUTO ON AUTO FOR UPDATE AS
SET NOCOUNT ON
DECLARE @cUsuarioAlias varchar(20), @SPIDUSER VARCHAR(10)
SELECT @cUsuarioAlias = cUsuarioAlias, @SPIDUSER = UR_SPID
FROM USER_REGISTER WHERE UR_SPID = @@SPID
INSERT INTO AUDIT
(UR_SPID,cAuditTipo_Eevento,cUsuarioAlias,dAuditFechaRegist
ro,cAuditDescripcion,cAuditTerminal,cAuditAplicacion)
SELECT @SPIDUSER,'Update', @cUsuarioAlias,getdate(),'AUTO -
Update de un registro', host_name(),APP_NAME()


Como veran, estoy haciendo una especie de AUDITORIA
(AUDIT) para saber quien me actualiza mis registros.

Pues bien, cada que INSERTO un registro, se me dispara 2
veces el de UPDATE.

¿Alguna ayuda?

Preguntas similare

Leer las respuestas

#1 Isaías
10/06/2004 - 20:07 | Informe spam
Por aca en MEXICO les decimos HUEVONES a quienes les da
flojera leer o hacer las cosas.

Gracias he leido el BOL y la respuesta es:

sp_configure 'nested triggers',0
RECONFIGURE WITH OVERRIDE
Respuesta Responder a este mensaje
#2 Javier Loria
11/06/2004 - 05:51 | Informe spam
Hola:
En Costa Rica les decimos igual, pero me convence que solo en 8 minutos
lo resolviste!!!.
En todo caso, podrias pensar en cambiar un poco el trigger, tal vez
puedes agrega a las columnas dAuditFechaRegistro, cAuditTerminal y
cAuditAplicacion de la tabla Audit; valores default: getdate(), host_name(),
app_name(), respectivamente. Adicionalmente puedes cambiar el trigger por un
INSERT tipo:
INSERT INTO
AUDIT(UR_SPID,cAuditTipo_Eevento,cUsuarioAlias,cAuditDescripcion)
SELECT UR_SPID,'INSERT', cUsuarioAlias ,'AUTO - INSERT de un registro'
FROM USER_REGISTER
WHERE UR_SPID = @@SPID
Mas sencillo, mas facil de mantener y un poquito mas rapido.
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.
Isaías escribio:
Por aca en MEXICO les decimos HUEVONES a quienes les da
flojera leer o hacer las cosas.

Gracias he leido el BOL y la respuesta es:

sp_configure 'nested triggers',0
RECONFIGURE WITH OVERRIDE
Respuesta Responder a este mensaje
#3 Isaías
11/06/2004 - 15:49 | Informe spam
Hola Javier

Tu como siempre, dando un poco mas de conocimientos,
muchas gracias amigo, siempre es bueno tener humildad para
aprender y esa, ME SOBRA !!!.

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