Trigger

16/04/2004 - 18:06 por Marcelo W. Lopez Cremona | Informe spam
Hola grupo.
Tengo un problema cdo lanzo un trigger (delete) en sql server 7.0 al
parecer primero se ejecuta la instruccion delete y luego el trigger (es esto
correcto),
al tratar de insertar el valor q se elimino en un historico no agrega
nada.
El trigger es el siguiente.

CREATE TRIGGER utr_LogDeleteCuentas
ON cuentas
FOR DELETE
AS
BEGIN
INSERT historicoCuentas (cueNumero, fechaDesde, cueLimiteContado,
cuelimiteCuotas, cueDisponibleContado, cueDisponibleCuotas,
cueMaxCantCuotas, cueContCompras, cueAcumCompras,
cueContAnulaciones, cueAcumAnulaciones)
SELECT d.cueNumero, d.fechaActualizacion, d.CueLimiteContado,
d.CueLimiteCuotas, d.CueDisponibleContado, d.CueDisponibleCuotas,
d.CueMaxCantCuotas, d.cueAcumCompras, d.cueContAnulaciones,
d.cueContAnulaciones, d.cueAcumAnulaciones
FROM deleted d
INNER JOIN cuentas c ON c.cueNumero=d.cueNumero
IF @@ROWCOUNT<1
PRINT 'noooo'
ELSE
PRINT 'OK'
END

Gracias desde ya. ;-)

Marcelo W. López
Tucumán - Argentina

Preguntas similare

Leer las respuestas

#1 Manuel Etcheto
16/04/2004 - 18:30 | Informe spam
Hola
Sin el INNER JOIN, esos registros ya no estás en la tabla
cuentas, y tampoco la necesitarías

Suerte
Manuel

Hola grupo.
Tengo un problema cdo lanzo un trigger (delete) en


sql server 7.0 al
parecer primero se ejecuta la instruccion delete y luego


el trigger (es esto
correcto),
al tratar de insertar el valor q se elimino en un


historico no agrega
nada.
El trigger es el siguiente.

CREATE TRIGGER utr_LogDeleteCuentas
ON cuentas
FOR DELETE
AS
BEGIN
INSERT historicoCuentas (cueNumero, fechaDesde,


cueLimiteContado,
cuelimiteCuotas, cueDisponibleContado,


cueDisponibleCuotas,
cueMaxCantCuotas, cueContCompras, cueAcumCompras,
cueContAnulaciones, cueAcumAnulaciones)
SELECT d.cueNumero, d.fechaActualizacion,


d.CueLimiteContado,
d.CueLimiteCuotas, d.CueDisponibleContado,


d.CueDisponibleCuotas,
d.CueMaxCantCuotas, d.cueAcumCompras,


d.cueContAnulaciones,
d.cueContAnulaciones, d.cueAcumAnulaciones
FROM deleted d
INNER JOIN cuentas c ON c.cueNumero=d.cueNumero
IF @@ROWCOUNT<1
PRINT 'noooo'
ELSE
PRINT 'OK'
END

Gracias desde ya. ;-)

Marcelo W. López
Tucumán - Argentina



.

Respuesta Responder a este mensaje
#2 Maximiliano D. A.
16/04/2004 - 18:34 | Informe spam
hola y porque pones un inner join? que buscas con eso?


Salu2
Maxi

Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET

MSN:
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Marcelo W. Lopez Cremona" escribió en el mensaje
news:
Hola grupo.
Tengo un problema cdo lanzo un trigger (delete) en sql server 7.0


al
parecer primero se ejecuta la instruccion delete y luego el trigger (es


esto
correcto),
al tratar de insertar el valor q se elimino en un historico no agrega
nada.
El trigger es el siguiente.

CREATE TRIGGER utr_LogDeleteCuentas
ON cuentas
FOR DELETE
AS
BEGIN
INSERT historicoCuentas (cueNumero, fechaDesde, cueLimiteContado,
cuelimiteCuotas, cueDisponibleContado, cueDisponibleCuotas,
cueMaxCantCuotas, cueContCompras, cueAcumCompras,
cueContAnulaciones, cueAcumAnulaciones)
SELECT d.cueNumero, d.fechaActualizacion, d.CueLimiteContado,
d.CueLimiteCuotas, d.CueDisponibleContado, d.CueDisponibleCuotas,
d.CueMaxCantCuotas, d.cueAcumCompras, d.cueContAnulaciones,
d.cueContAnulaciones, d.cueAcumAnulaciones
FROM deleted d
INNER JOIN cuentas c ON c.cueNumero=d.cueNumero
IF @@ROWCOUNT<1
PRINT 'noooo'
ELSE
PRINT 'OK'
END

Gracias desde ya. ;-)

Marcelo W. López
Tucumán - Argentina








Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.655 / Virus Database: 420 - Release Date: 08/04/2004
Respuesta Responder a este mensaje
#3 ulises
16/04/2004 - 18:36 | Informe spam
Sí es correcto, en los AFTER TRIGGER primero elimina y
luego ejecuta el trigger, en tu caso no debes hacer un
JOIN con la tabla, basta con :

INSERT historicoCuentas ...
SELECT d.cueNumero,
d.fechaActualizacion, d.CueLimiteContado,
d.CueLimiteCuotas, d.CueDisponibleContado,
d.CueDisponibleCuotas,
d.CueMaxCantCuotas, d.cueAcumCompras,
d.cueContAnulaciones,
d.cueContAnulaciones, d.cueAcumAnulaciones
FROM deleted d

Saludos,
Ulises

Hola grupo.
Tengo un problema cdo lanzo un trigger (delete) en


sql server 7.0 al
parecer primero se ejecuta la instruccion delete y luego


el trigger (es esto
correcto),
al tratar de insertar el valor q se elimino en un


historico no agrega
nada.
El trigger es el siguiente.

CREATE TRIGGER utr_LogDeleteCuentas
ON cuentas
FOR DELETE
AS
BEGIN
INSERT historicoCuentas (cueNumero, fechaDesde,


cueLimiteContado,
cuelimiteCuotas, cueDisponibleContado,


cueDisponibleCuotas,
cueMaxCantCuotas, cueContCompras, cueAcumCompras,
cueContAnulaciones, cueAcumAnulaciones)
SELECT d.cueNumero, d.fechaActualizacion,


d.CueLimiteContado,
d.CueLimiteCuotas, d.CueDisponibleContado,


d.CueDisponibleCuotas,
d.CueMaxCantCuotas, d.cueAcumCompras,


d.cueContAnulaciones,
d.cueContAnulaciones, d.cueAcumAnulaciones
FROM deleted d
INNER JOIN cuentas c ON c.cueNumero=d.cueNumero
IF @@ROWCOUNT<1
PRINT 'noooo'
ELSE
PRINT 'OK'
END

Gracias desde ya. ;-)

Marcelo W. López
Tucumán - Argentina



.

Respuesta Responder a este mensaje
#4 Marcelo W. Lopez Cremona
16/04/2004 - 19:58 | Informe spam
Gracias.
;-)

Marcelo W. Lopez
Tucumán - Argentina

"ulises" escribió en el mensaje
news:1ac7b01c423d0$f51f5ea0$
Sí es correcto, en los AFTER TRIGGER primero elimina y
luego ejecuta el trigger, en tu caso no debes hacer un
JOIN con la tabla, basta con :

INSERT historicoCuentas ...
SELECT d.cueNumero,
d.fechaActualizacion, d.CueLimiteContado,
d.CueLimiteCuotas, d.CueDisponibleContado,
d.CueDisponibleCuotas,
d.CueMaxCantCuotas, d.cueAcumCompras,
d.cueContAnulaciones,
d.cueContAnulaciones, d.cueAcumAnulaciones
FROM deleted d

Saludos,
Ulises

Hola grupo.
Tengo un problema cdo lanzo un trigger (delete) en


sql server 7.0 al
parecer primero se ejecuta la instruccion delete y luego


el trigger (es esto
correcto),
al tratar de insertar el valor q se elimino en un


historico no agrega
nada.
El trigger es el siguiente.

CREATE TRIGGER utr_LogDeleteCuentas
ON cuentas
FOR DELETE
AS
BEGIN
INSERT historicoCuentas (cueNumero, fechaDesde,


cueLimiteContado,
cuelimiteCuotas, cueDisponibleContado,


cueDisponibleCuotas,
cueMaxCantCuotas, cueContCompras, cueAcumCompras,
cueContAnulaciones, cueAcumAnulaciones)
SELECT d.cueNumero, d.fechaActualizacion,


d.CueLimiteContado,
d.CueLimiteCuotas, d.CueDisponibleContado,


d.CueDisponibleCuotas,
d.CueMaxCantCuotas, d.cueAcumCompras,


d.cueContAnulaciones,
d.cueContAnulaciones, d.cueAcumAnulaciones
FROM deleted d
INNER JOIN cuentas c ON c.cueNumero=d.cueNumero
IF @@ROWCOUNT<1
PRINT 'noooo'
ELSE
PRINT 'OK'
END

Gracias desde ya. ;-)

Marcelo W. López
Tucumán - Argentina



.

Respuesta Responder a este mensaje
#5 Marcelo W. Lopez Cremona
16/04/2004 - 19:59 | Informe spam
Gracias a todos por su ayuda.
Ya lo solucioné.

;-)


"Marcelo W. Lopez Cremona" escribió en el mensaje
news:
Hola grupo.
Tengo un problema cdo lanzo un trigger (delete) en sql server 7.0


al
parecer primero se ejecuta la instruccion delete y luego el trigger (es


esto
correcto),
al tratar de insertar el valor q se elimino en un historico no agrega
nada.
El trigger es el siguiente.

CREATE TRIGGER utr_LogDeleteCuentas
ON cuentas
FOR DELETE
AS
BEGIN
INSERT historicoCuentas (cueNumero, fechaDesde, cueLimiteContado,
cuelimiteCuotas, cueDisponibleContado, cueDisponibleCuotas,
cueMaxCantCuotas, cueContCompras, cueAcumCompras,
cueContAnulaciones, cueAcumAnulaciones)
SELECT d.cueNumero, d.fechaActualizacion, d.CueLimiteContado,
d.CueLimiteCuotas, d.CueDisponibleContado, d.CueDisponibleCuotas,
d.CueMaxCantCuotas, d.cueAcumCompras, d.cueContAnulaciones,
d.cueContAnulaciones, d.cueAcumAnulaciones
FROM deleted d
INNER JOIN cuentas c ON c.cueNumero=d.cueNumero
IF @@ROWCOUNT<1
PRINT 'noooo'
ELSE
PRINT 'OK'
END

Gracias desde ya. ;-)

Marcelo W. López
Tucumán - Argentina



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida