Gracias. Otra pregunta.

13/12/2005 - 22:42 por Miguel Arenas | Informe spam
Ahora como hago para saber el valor que tenia antes de la actualizacion.
Es decir comparar el valor nuevo con el valor que tiene actualmente.
Gracias, por la ayuda.
 

Leer las respuestas

#1 Alejandro Mesa
13/12/2005 - 22:55 | Informe spam
Miguel,

Existen dos tablas en sql server que solo pueden ser usadas dentro de un
trigger y que te permiten ver las filas antes y despues de la actualizacion.
El nombre de estas tablas son deleted e inserted. Te recomiendo leas los BOL
antes de continuar con lo que estas haciendo.

Ejemplo:

create table t1 (
c1 int not null identity unique,
c2 varchar(25) not null
)
go

insert into t1(c2) values('antes')
go

create trigger tr_t1_after_upd on t1
for update
as
if update(c2)
select b.c1, a.c2, b.c2 from deleted as a inner join inserted as b on
a.c1 = b.c1
go

update t1
set c2 = 'despues'
go

drop table t1
go


AMB

P.S. El ejemplo anterior incluye una sentencia "select" dentro de un
trigger, esto lo hago por prueba, hacerlo en produccion es mala practica.


"Miguel Arenas" wrote:

Ahora como hago para saber el valor que tenia antes de la actualizacion.
Es decir comparar el valor nuevo con el valor que tiene actualmente.
Gracias, por la ayuda.

Preguntas similares