Borrado en cascada

28/11/2006 - 00:24 por kdokdo | Informe spam
Hola!

Hay alguna forma para que si tengo puesto en la base de datos que me
borre por cascada, antes pueda yo advertir al usuario de lo que va a
pasar y pueda él decidir si quiere o no borrar?
La cuestión no es preguntar al clicar en el botón de borrar porque ya
pregunto si está seguro y tal. La cuestión está en que sólo
advierta cuando realmente se vaya a hacer un borrado en cascada, ya que
tengo el mismo botón tanto para guardar datos añadidos, actualizados
y/o borrados.

Gracias!!

Preguntas similare

Leer las respuestas

#1 Juan Diego Bueno Prieto
28/11/2006 - 09:15 | Informe spam
Obviamente, es tan sencillo como indicar en el programa al hacer el borrado
si la tabla en la que borras tiene o no eliminación en cascada. Me explico:

Tu has diseñado la base de datos, por lo cual, sabes que tablas tienen
claves foráneas con borrado en cascada. El tema es que al realizar un
borrado sobre alguna de esas tablas, avises al usuario. Si a lo que te
refieres es a indicar al usuario que el borrado va a implicar un borrado de
otros registros (porque no necesariamente el borrado de un registro de estas
tablas va a afectar a otra), tendrías que establecer algún mecanismo, por
ejemplo, obtener con un select count si se va a borrar algún registro en
cascada a partir de este, o no.

Saludos

escribió en el mensaje
news:
Hola!

Hay alguna forma para que si tengo puesto en la base de datos que me
borre por cascada, antes pueda yo advertir al usuario de lo que va a
pasar y pueda él decidir si quiere o no borrar?
La cuestión no es preguntar al clicar en el botón de borrar porque ya
pregunto si está seguro y tal. La cuestión está en que sólo
advierta cuando realmente se vaya a hacer un borrado en cascada, ya que
tengo el mismo botón tanto para guardar datos añadidos, actualizados
y/o borrados.

Gracias!!
Respuesta Responder a este mensaje
#2 Alberto Poblacion
28/11/2006 - 10:28 | Informe spam
wrote in message
news:
Hay alguna forma para que si tengo puesto en la base de datos que me
borre por cascada,



Hay una forma un poco "bestia" de saber cuántos registros se van a
borrar, que consiste en iniciar una transacción, ejecutar el borrado, leer
el "records affected" que te devuelve la instrucción de borrado, y hacer un
"rollback" para cancelar el borrado.

El valor del "records affected" te indica cuantos registros se habrían
borrado si no hubieras hecho el rollback.
Este método tiene la ventaja de que te indica no solo los registros que
se borran debido a un borrado en cascada, sino también los que se borran
mediante triggers (a no ser que en el código del trigger haya un "set
nocount on").
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida