Construcción de Trigger

04/12/2003 - 20:54 por Carlos Verano | Informe spam
Saludos

Tengo la siguiente consulta, deseo construir un trigger
que al insertar un registro ó cuando este se modifique,
actualice los campos usu_accusu con el nombre del usuario
conectado a la base de datos y el campo usu_fecmov con la
fecha en que se realizo la operación, estos campos son
utilizados para auditoria en la misma tabla, les
agradeceré hacer llegar sus ejemplos ó modelos que pudiera
utilizar.

Desde ya muchas gracias

Preguntas similare

Leer las respuestas

#1 Maximiliano Damian Accotto
04/12/2003 - 21:24 | Informe spam
holas!! como estas? bue veamos

Recien pase un ej de como hacer algo pero veamos tu caso:

Si esos campos estan en la misma tabla que donde estan los datos, yo usaria
un Trigger Instead Of (en tus libros podras buscar mucha informacion de como
se implementan)

para sacar el nombre de usuario yo uso esta funcion:

Suser_sname()

ej:

select suser_sname()

un saludo enorme

Maximiliano Damian Accotto
"Carlos Verano" escribió en el mensaje
news:03f201c3baa0$74a219a0$
Saludos

Tengo la siguiente consulta, deseo construir un trigger
que al insertar un registro ó cuando este se modifique,
actualice los campos usu_accusu con el nombre del usuario
conectado a la base de datos y el campo usu_fecmov con la
fecha en que se realizo la operación, estos campos son
utilizados para auditoria en la misma tabla, les
agradeceré hacer llegar sus ejemplos ó modelos que pudiera
utilizar.

Desde ya muchas gracias
Respuesta Responder a este mensaje
#2 ulises
04/12/2003 - 21:30 | Informe spam
También podrías usar defaults :

create table abc ( clave int,
usuario char(30) DEFAULT SUSER_Sname(),
fecha datetime DEFAULT GETDATE() )
go
insert abc (clave) values (1)
go
select * from abc
go

te dará como resultado :

clave usuario fecha
1 DOMINIO\USUARIO 2003-12-04 15:26:31.540

Saludos,
Ulises


Saludos

Tengo la siguiente consulta, deseo construir un trigger
que al insertar un registro ó cuando este se modifique,
actualice los campos usu_accusu con el nombre del usuario
conectado a la base de datos y el campo usu_fecmov con la
fecha en que se realizo la operación, estos campos son
utilizados para auditoria en la misma tabla, les
agradeceré hacer llegar sus ejemplos ó modelos que


pudiera
utilizar.

Desde ya muchas gracias

.

Respuesta Responder a este mensaje
#3 Carlos Verano
04/12/2003 - 21:54 | Informe spam
Gracias Max
Estoy colocando la siguiente instrucción

*!* Para Insert
Create Trigger usua_insert
On usua_usu
Instead Of Insert
As
Insert Into usua_usu (usu_fecusu,usu_accusu)
Select Isnull(inserted.usu_fecusu,getdate()), Isnull
(inserted.usu_accusu,suser_sname()) From inserted

*!* Para Update
Create Trigger usua_update
On usua_usu
For Update
As
Update usua_usu Set usu_fecusu=Isnull
(inserted.usu_fecusu,getdate()),
usu_accusu=Isnull(inserted.usu_accusu,suser_sname())
From usua_usu Inner Join inserted On
usua_usu.id = inserted.id

Ahora hay un detalle tengo 84 tablas, debo hacer esto para
cada una, existe alguna forma, todas las tablas tienen
estos mismos campos usu_accusu, usu_fecusu

Gracias nuevamente por tu apoyo.


holas!! como estas? bue veamos

Recien pase un ej de como hacer algo pero veamos tu caso:

Si esos campos estan en la misma tabla que donde estan


los datos, yo usaria
un Trigger Instead Of (en tus libros podras buscar mucha


informacion de como
se implementan)

para sacar el nombre de usuario yo uso esta funcion:

Suser_sname()

ej:

select suser_sname()

un saludo enorme

Maximiliano Damian Accotto
"Carlos Verano" escribió en el


mensaje
news:03f201c3baa0$74a219a0$
Saludos

Tengo la siguiente consulta, deseo construir un trigger
que al insertar un registro ó cuando este se modifique,
actualice los campos usu_accusu con el nombre del usuario
conectado a la base de datos y el campo usu_fecmov con la
fecha en que se realizo la operación, estos campos son
utilizados para auditoria en la misma tabla, les
agradeceré hacer llegar sus ejemplos ó modelos que pudiera
utilizar.

Desde ya muchas gracias


.

Respuesta Responder a este mensaje
#4 Maximiliano Damian Accotto
04/12/2003 - 22:22 | Informe spam
si no lo queres hacer po un trigger podes usar lo q te aconsejo nuestro
amigo Ulises!! es otra forma de hacerlo y creo q para tu caso mucho mas
practico.

Un saludo

Accotto Maximiliano Damian

msn:
"Carlos Verano" escribió en el mensaje
news:04ac01c3baa8$d24c1760$
Gracias Max
Estoy colocando la siguiente instrucción

*!* Para Insert
Create Trigger usua_insert
On usua_usu
Instead Of Insert
As
Insert Into usua_usu (usu_fecusu,usu_accusu)
Select Isnull(inserted.usu_fecusu,getdate()), Isnull
(inserted.usu_accusu,suser_sname()) From inserted

*!* Para Update
Create Trigger usua_update
On usua_usu
For Update
As
Update usua_usu Set usu_fecusu=Isnull
(inserted.usu_fecusu,getdate()),
usu_accusu=Isnull(inserted.usu_accusu,suser_sname())
From usua_usu Inner Join inserted On
usua_usu.id = inserted.id

Ahora hay un detalle tengo 84 tablas, debo hacer esto para
cada una, existe alguna forma, todas las tablas tienen
estos mismos campos usu_accusu, usu_fecusu

Gracias nuevamente por tu apoyo.


holas!! como estas? bue veamos

Recien pase un ej de como hacer algo pero veamos tu caso:

Si esos campos estan en la misma tabla que donde estan


los datos, yo usaria
un Trigger Instead Of (en tus libros podras buscar mucha


informacion de como
se implementan)

para sacar el nombre de usuario yo uso esta funcion:

Suser_sname()

ej:

select suser_sname()

un saludo enorme

Maximiliano Damian Accotto
"Carlos Verano" escribió en el


mensaje
news:03f201c3baa0$74a219a0$
Saludos

Tengo la siguiente consulta, deseo construir un trigger
que al insertar un registro ó cuando este se modifique,
actualice los campos usu_accusu con el nombre del usuario
conectado a la base de datos y el campo usu_fecmov con la
fecha en que se realizo la operación, estos campos son
utilizados para auditoria en la misma tabla, les
agradeceré hacer llegar sus ejemplos ó modelos que pudiera
utilizar.

Desde ya muchas gracias


.

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