Actualizar fecha y hora de modificacion a traves de un trigger, Se puede?

11/11/2005 - 16:32 por Alexc - Perú | Informe spam
Como puedo hacer para que cada ves que ejecute un update, en automatico se
guarde la fecha y hora de actualizacion en un campo, sin necesida que yo lo
programe en el lado del cliente, sino que esto lo haga el servidor,
Espero que entiendan mi pregunta, esto se puede hacer con un desencadenante
que se ejecute cada vez que se ejecute el evento UPDATE, si se puede hacer
esto, Como lo hago?
Desde ya muchas gracias por sus aportes.

Preguntas similare

Leer las respuestas

#1 Isaias
11/11/2005 - 18:01 | Informe spam
Alex

Programa un TRIGGER en tu tabla, para que cuando se ejecute el UPDATE,
INSERT o DELETE, guardes el historia de quien lo hizo.

Checa este link:

http://www.microsoft.com/spanish/ms.../art73.asp

Saludos
IIslas


"Alexc - Perú" escribió:

Como puedo hacer para que cada ves que ejecute un update, en automatico se
guarde la fecha y hora de actualizacion en un campo, sin necesida que yo lo
programe en el lado del cliente, sino que esto lo haga el servidor,
Espero que entiendan mi pregunta, esto se puede hacer con un desencadenante
que se ejecute cada vez que se ejecute el evento UPDATE, si se puede hacer
esto, Como lo hago?
Desde ya muchas gracias por sus aportes.



Respuesta Responder a este mensaje
#2 Alejandro Mesa
11/11/2005 - 18:03 | Informe spam
Alexc,

Ejemplo:

create table t1(
c1 int not null identity primary key,
c2 varchar(25) null,
date_inserted datetime not null default (getdate()),
date_updated datetime null
)
go

create trigger tr_t1_upd on t1
for update
as
if @@rowcount = 0 return

update t1
set date_updated = getdate()
where exists (select * from inserted as i where i.c1 = t1.c1)
go

insert into t1 default values
insert into t1 default values
go

select * from t1
go

update t1
set c2 = 'SQL Server'
where c1 = 2
go

select * from t1
go

drop table t1
go


AMB

"Alexc - Perú" wrote:

Como puedo hacer para que cada ves que ejecute un update, en automatico se
guarde la fecha y hora de actualizacion en un campo, sin necesida que yo lo
programe en el lado del cliente, sino que esto lo haga el servidor,
Espero que entiendan mi pregunta, esto se puede hacer con un desencadenante
que se ejecute cada vez que se ejecute el evento UPDATE, si se puede hacer
esto, Como lo hago?
Desde ya muchas gracias por sus aportes.



Respuesta Responder a este mensaje
#3 Eleazar Nuñez
11/11/2005 - 18:14 | Informe spam
hola
Revisa en la ayuda sp_bindefault o y CREATE DEFAULT

"Alexc - Perú" escribió en el mensaje
news:%
Como puedo hacer para que cada ves que ejecute un update, en automatico se
guarde la fecha y hora de actualizacion en un campo, sin necesida que yo


lo
programe en el lado del cliente, sino que esto lo haga el servidor,
Espero que entiendan mi pregunta, esto se puede hacer con un


desencadenante
que se ejecute cada vez que se ejecute el evento UPDATE, si se puede hacer
esto, Como lo hago?
Desde ya muchas gracias por sus aportes.


Respuesta Responder a este mensaje
#4 Eleazar Nuñez
11/11/2005 - 18:25 | Informe spam
Hola Alejandro
t1 de que tabla es alias?
el exists para que es (que condicion)?

update t1
set date_updated = getdate()
where exists (select * from inserted as i where i.c1 = t1.c1)

"Alejandro Mesa" escribió en el
mensaje news:
Alexc,

Ejemplo:

create table t1(
c1 int not null identity primary key,
c2 varchar(25) null,
date_inserted datetime not null default (getdate()),
date_updated datetime null
)
go

create trigger tr_t1_upd on t1
for update
as
if @@rowcount = 0 return

update t1
set date_updated = getdate()
where exists (select * from inserted as i where i.c1 = t1.c1)
go

insert into t1 default values
insert into t1 default values
go

select * from t1
go

update t1
set c2 = 'SQL Server'
where c1 = 2
go

select * from t1
go

drop table t1
go


AMB

"Alexc - Perú" wrote:

> Como puedo hacer para que cada ves que ejecute un update, en automatico


se
> guarde la fecha y hora de actualizacion en un campo, sin necesida que yo


lo
> programe en el lado del cliente, sino que esto lo haga el servidor,
> Espero que entiendan mi pregunta, esto se puede hacer con un


desencadenante
> que se ejecute cada vez que se ejecute el evento UPDATE, si se puede


hacer
> esto, Como lo hago?
> Desde ya muchas gracias por sus aportes.
>
>
>
Respuesta Responder a este mensaje
#5 Alejandro Mesa
11/11/2005 - 23:26 | Informe spam
Eleazar Nuñez,

t1 de que tabla es alias?



No es alias de nada, es la propia tabla.

el exists para que es (que condicion)?



Es para que se actualize la columna date_update solo de aquellas filas que
fueron actualizadas.


AMB


"Eleazar Nuñez" wrote:

Hola Alejandro
t1 de que tabla es alias?
el exists para que es (que condicion)?

update t1
set date_updated = getdate()
where exists (select * from inserted as i where i.c1 = t1.c1)

"Alejandro Mesa" escribió en el
mensaje news:
> Alexc,
>
> Ejemplo:
>
> create table t1(
> c1 int not null identity primary key,
> c2 varchar(25) null,
> date_inserted datetime not null default (getdate()),
> date_updated datetime null
> )
> go
>
> create trigger tr_t1_upd on t1
> for update
> as
> if @@rowcount = 0 return
>
> update t1
> set date_updated = getdate()
> where exists (select * from inserted as i where i.c1 = t1.c1)
> go
>
> insert into t1 default values
> insert into t1 default values
> go
>
> select * from t1
> go
>
> update t1
> set c2 = 'SQL Server'
> where c1 = 2
> go
>
> select * from t1
> go
>
> drop table t1
> go
>
>
> AMB
>
> "Alexc - Perú" wrote:
>
> > Como puedo hacer para que cada ves que ejecute un update, en automatico
se
> > guarde la fecha y hora de actualizacion en un campo, sin necesida que yo
lo
> > programe en el lado del cliente, sino que esto lo haga el servidor,
> > Espero que entiendan mi pregunta, esto se puede hacer con un
desencadenante
> > que se ejecute cada vez que se ejecute el evento UPDATE, si se puede
hacer
> > esto, Como lo hago?
> > Desde ya muchas gracias por sus aportes.
> >
> >
> >



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