pregunta de trigger

21/04/2004 - 18:07 por Heidi | Informe spam
Hola a todos, se puede crear un trigger que cuando actualicen, modifiquen o
inserten en unas tablas definidas, se llene una tabla de seguimiento con
campos como usuario(windows NT, integrado), ip o máquina desde dónde se hace
la consulta, valor antiguo y valor nuevo?

Mil gracias por su ayuda

Preguntas similare

Leer las respuestas

#1 Maximiliano D. A.
21/04/2004 - 18:23 | Informe spam
Hola, claro que puedes

Debes usar las tablas Inserted y deleted en primer lugar

Para saber el usuario debes usar Suser_sname()

para detectar el host debes usar HOST_NAME()

te recomiendo este muy buen articulo:

http://www.configuracionesintegrale...?articuloX

Suerte


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



"Heidi" escribió en el mensaje
news:%
Mostrar la cita
o
Mostrar la cita
hace
Mostrar la cita
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.661 / Virus Database: 424 - Release Date: 19/04/2004
#2 Pablo Salazar
21/04/2004 - 18:28 | Informe spam
Por cada tabla se puede definir uno o una serie de triggers.
Cuando se activa un trigger se generan una serie de datos ( registros ) que
se almacenan en
inserted, deleted.

Por ejemplo , si ingresas un registro nuevo, los valores quedan almacenados
en inserted.
, si borras un registro nuevo, los valores quedan almacenados en deleted y
si actualizas un registro, los valores nuevos quedan almacenados en
inserted y los valores antiguos quedan almacenados en deletes.

Aqui te va un ejemplo de trigger

CREATE TRIGGER seguimiento ON tabla1
FOR INSERT, UPDATE, DELETE
AS
insert into seguimiento ( valor1, valor2, usuario,fecha,tipo)
select valor1,valor2,system_user ,getdate(),'nuevo/modificado' from inserted

insert into seguimiento ( valor1, valor2, usuario,fecha,tipo)
select valor1,valor2,system_user ,getdate(),'borrado' from deleted


Yo tengo un sistema como el que describes,pero el nombre de la computadora
y la aplicacion donde se hizo esto, lo mando desde la aplicacion porque no
he encontrado como extraerlo desde SQLserver.

Espero que te sirva.
Gracias.


"Heidi" wrote in message
news:#
Mostrar la cita
o
Mostrar la cita
hace
Mostrar la cita
#3 Heidi
21/04/2004 - 19:06 | Informe spam
Muchas gracias a los dos, aunque aun no he probado lo que me contestaron,
desde ya les doy las gracias, por que ya me estan ayudando, depronto si
tengo alguna duda la haré saber.
"Pablo Salazar" escribió en el mensaje
news:%
Mostrar la cita
que
Mostrar la cita
almacenados
Mostrar la cita
y
Mostrar la cita
inserted
Mostrar la cita
computadora
Mostrar la cita
modifiquen
Mostrar la cita
Ads by Google
Search Busqueda sugerida