de Triggers

21/09/2006 - 18:19 por Camilo Acosta | Informe spam
Hola grupo,

Tengo un Update masivo en una tabla, sobre la columna que es la clave
primaria. Como puedo usar las tablas inserted y deleted para saber cuales
eran los valores que anteriores y los nuevos.

create Tabla Prueba(codigo varchar(6))

insert into Prueba(codigo) values('0')
insert into Prueba(codigo) values('1')
insert into Prueba(codigo) values('2')
insert into Prueba(codigo) values('3')
insert into Prueba(codigo) values('55')

update Prueba set codigo = '0' + codigo Where len(codigo)=1

Quiero grabar como auditoria
Valor Anterior, Nuevo Valor
'0' '00'
'1' '01'
'2' '02'
'3' '03'

Gracias,

Camilo Acosta
 

Leer las respuestas

#1 Isaias
21/09/2006 - 19:19 | Informe spam
DELETED e INSERTED son tablas lógicas (conceptuales). Son de estructura
similar a la tabla en que se define el desencadenador, es decir, la tabla en
que se intenta la acción del usuario, y guarda los valores antiguos o nuevos
de las filas que la acción del usuario puede cambiar. Por ejemplo, para
recuperar todos los valores de la tabla deleted, utilice:
SELECT *
FROM deleted


Saludos
IIslas


"Camilo Acosta" wrote:

Hola grupo,

Tengo un Update masivo en una tabla, sobre la columna que es la clave
primaria. Como puedo usar las tablas inserted y deleted para saber cuales
eran los valores que anteriores y los nuevos.

create Tabla Prueba(codigo varchar(6))

insert into Prueba(codigo) values('0')
insert into Prueba(codigo) values('1')
insert into Prueba(codigo) values('2')
insert into Prueba(codigo) values('3')
insert into Prueba(codigo) values('55')

update Prueba set codigo = '0' + codigo Where len(codigo)=1

Quiero grabar como auditoria
Valor Anterior, Nuevo Valor
'0' '00'
'1' '01'
'2' '02'
'3' '03'

Gracias,

Camilo Acosta



Preguntas similares