SQL - marcar registros en lugar de eliminarlos

 
Vista:

marcar registros en lugar de eliminarlos

Publicado por casares (1 intervención) el 21/11/2005 05:50:00
Mi problema es el siguiente:

Por politica del cliente los registros no se deben eliminar de la base de datos, en su lugar deben marcarse de alguna forma y considerarse eliminados. Esto no es problema, simplemente agrego un campo "borrado" y lo establezco a true cuando lo considere eliminado. Hasta ahi bien.

El problema radica en que pierdo las eliminaciones en cascada, y por consiguiente estoy obligado a programarlas. Lo cual no es un problema, solo implica mas trabajo.

Luego, todo se complica más cuando sucede que la base de datos es utilizada por varios desarrolladores para diferentes aplicaciones que utilizan tablas comunes. esto implica que las actualizaciones en cascada programadas deben incluir las tablas hijas de estos últimos, esto los obligaria a modificar los procedimientos almacenados creados por otros.... etc lo que nos lleva a un codigo muy dificil de mantener.

mi pregunta es

- Existe alguna solución concreta a situaciones de este tipo.?, quiero decir SQL Server proporciona algo al respecto o hay alguna forma común de hacerlo.

En caso de que no.

- Es posible obtener un listato de todas las relaciones de una tabla?

Con esto resolvería el problema ya que utilizaría esta lista para ir a cada una de las tablas hijas y marcar los registros coincidentes.

desde ya gracias por interesarse.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:marcar registros en lugar de eliminarlos

Publicado por Liliana (426 intervenciones) el 21/11/2005 16:26:50
Hola,
No conozco alguna alternativa brindada por la herramienta, pero te cuento cómo lo manejamos en nuestro trabajo.
Lo que se marca como Dado de Baja es el cliente, a través de un campo de Estado.
Las tablas relacionadas NO se marcan, y cuando se hacen informes, se combinan SIEMPRE con la tabla de clientes, eliminando los que en estado tienen algo distinto a Activo. De esa manera no se incluye ninguna información de clientes que estén dados de baja.

Saludos,
Liliana.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar