Hola!

Te recomiendo que lleves el peso a la base de datos. Podrìas..


1) Generarte un SPs que te cree las tablas de auditorio / control de cambios 
para cada tabla y sus respectivos triggers. Podemos discutir que no es bueno el 
uso de triggers, que estoy de acuerdo, pero esta vos hcer el control 
manual...El tema de un SP que te cree los Sps / triggers, es para evitar 
cambiar todo a mano cuando haces una alteración de un campo de una tabla. Busca 
en la red por auditoria y/o control de cambios, que tenés scrpts de ejemplos. 
Tenés que usar un par de tablas de sistemas. syscolumns, sysobjects (si vas 
contra sql server), si vas contra oracle, también tenés las tablas. En ambos, 
tenés que tener en cuenta los permisos para esas tablas.


2) ¿Què profundidad de cambios vas a manejar? un solo cambio? ,2? n? Si haces 
n, vas a tener que tener algún parámetro para definirlo. Vas a tener que 
mostrar una pantalla al user, para que elija hasta que cambio quiere volver 
atrás (esto es robado del word, nada original, pegale una mirada). Desde donde 
el user te seleccione el cambio, vas a tener que aplicarlos a la inversa 
(cambio más viejo al mas nuevo) 

3) BDD: 
update => manejas los últimos datos en tu tabla y los cambios en la de 
auiditoria. Al deshacer, aplicando los cambios de atrás hacia adelante, podés 
volver al registro original

insert => mmm...una de las acciones que tienen que considerar los objetos 
nuevos del punto 1, sería la identificación del insert. Si el usuario lo quiere 
deshacer, es un simple delete (a menos, obvio, que permitas hacer deshacer del 
deshacer, si es así suerte!).

delete => simple campo en tu tabla original, de activo/inactivo (1/0 como 
gustes) y la respectiva consideración en tus consultas para que solo tomen los 
activos.

Bueno, es una idea..
espero que te sirva.

sld,
D.-


Claudia Almeda <[EMAIL PROTECTED]> wrote: no es como un deshacer????
 Los triggers no te sirven??o entendi mal?

 
 El día 12/06/07, Ruben Ferraro <[EMAIL PROTECTED]> escribió:   Disculpen la 
ignorancia, pero que vendria a ser un undo?
 Gracias 
 Rubén
  -----Mensaje original-----
De: Omar del valle Rodríguez [mailto: [EMAIL PROTECTED]
Enviado el: martes, 12 de junio de 2007 16:27
Para: [EMAIL PROTECTED] 
Asunto: [dbms] Hacer Undo


 Hola gente.. 
  
 Se me pidió que implementara un sistema que pudiera realizar Undo sobre las 
acciones de Delete, Insert o Update en varias Tablas de una Base de datos en 
SQL.
  
 Tienen alguna recomendación que hacer??
  
 Salu2
 Omar.


  

 
---------------------------------
We won't tell. Get more on shows you hate to love
(and love to hate): Yahoo! TV's Guilty Pleasures list.

Responder a