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:%
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







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
Respuesta Responder a este mensaje
#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:#
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


Respuesta Responder a este mensaje
#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:%
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:#
> 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
>
>


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