Creación de un Trigger

16/06/2005 - 13:11 por Lirán Marino | Informe spam
Hola!

Estoy desarrollando mi estrategia de auditoría para las tablas de mi Base de
datos. Como la aplicación requiere que almacene los datos modificados,
estaba pensando almacenar en una unica tabla los valores iniciales y finales
de la operación. Si se trata de un INSERT, el valor inicial seria vacío, si
se trata de un UPDATE, existirían valores iniciales y finales, y si se trata
de DELETE, el final seria vacío. La estructura -simplificada con motivos de
esta pregunta- sería más o menos así:

-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-
TablaDeEventos
{idOperacion, idUsuario, Accion, Tabla, Fecha, Hora, ValorInicial,
ValorFinal}
-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-

Para que esto funcione, prepararía un Trigger genérico (que añadiría a todas
mis tablas) y haría uso de las tablas "inserted" y "deleted" para recuperar
los datos. Mi pregunta entonces es, con miras de hacer este trigger
generico: cómo podría recorrer -programaticamente- las columnas de las
tablas "inserted" y "deleted", de modo que pueda crear una cadena delimitada
por comas que incluya dichos valores (Inicial o Final)?






Liran Marino
liran (.) marino (@) gmail (.) com
-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-
Este mensaje se proporciona "TAL COMO ESTA", sin garantias y no otorga
ningun
derecho

-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-
(Guía de netiquette del foro)
http://www.uyssoft.com/Netiquette/

-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-
Las listas de News son como el Tetris, para la gente que aun recuerda como
leer...
 

Leer las respuestas

#1 Maxi
16/06/2005 - 14:38 | Informe spam
Hola, recorrer y y hacer sql dinamico? no no no!! esto no es nada bueno mi
amigo. Te recomiendo un articulo para lo que estas pidiendo donde quizas te
pueda dar una manito

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


Salu2
Maxi


"Lirán Marino" <liran (.) marino (@) gmail (.) com> escribió en el mensaje
news:
Hola!

Estoy desarrollando mi estrategia de auditoría para las tablas de mi Base
de datos. Como la aplicación requiere que almacene los datos modificados,
estaba pensando almacenar en una unica tabla los valores iniciales y
finales de la operación. Si se trata de un INSERT, el valor inicial seria
vacío, si se trata de un UPDATE, existirían valores iniciales y finales, y
si se trata de DELETE, el final seria vacío. La estructura -simplificada
con motivos de esta pregunta- sería más o menos así:

-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-
TablaDeEventos
{idOperacion, idUsuario, Accion, Tabla, Fecha, Hora, ValorInicial,
ValorFinal}
-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-

Para que esto funcione, prepararía un Trigger genérico (que añadiría a
todas mis tablas) y haría uso de las tablas "inserted" y "deleted" para
recuperar los datos. Mi pregunta entonces es, con miras de hacer este
trigger generico: cómo podría recorrer -programaticamente- las columnas de
las tablas "inserted" y "deleted", de modo que pueda crear una cadena
delimitada por comas que incluya dichos valores (Inicial o Final)?






Liran Marino
liran (.) marino (@) gmail (.) com
-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-
Este mensaje se proporciona "TAL COMO ESTA", sin garantias y no otorga
ningun
derecho

-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-
(Guía de netiquette del foro)
http://www.uyssoft.com/Netiquette/

-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-
Las listas de News son como el Tetris, para la gente que aun recuerda como
leer...

Preguntas similares