Visual Basic.NET - Muchos Deletes

 
Vista:

Muchos Deletes

Publicado por Marcela (24 intervenciones) el 29/04/2010 05:55:23
Saludos!
Me dirijo a ustedes del foro porque tengo una gran duda...

Comopuedo hacer un delete de varias tablas que estan relacionadas.
Por ejemplo necesito eliminar los bancos que esten registrados con el ID de una Empresa:
DELETE Banco WHERE IDEmpresa = 1 (digamos que se eliminaron Banco1, Banco2 y Banco 3)

Eso me elimna todos los bancos de la empresa 1... Ahora el problema es que necesito que se borren también los clientes que pertenecian a esos bancos (esos 3 que se eliminaron)
¿como puedo hacer este query?
DELETE Cliente WHERE IDBanco = ???????? (Banco 1, Banco 2, Banco3)

Si esto anterior es posible ahora necesito que se borren todas las Compras de estos mismos clientes que se borrarron a causa de los bancos que se borraron por eliminar la empresa.


Espero haberme explicado, es como si fueran deletes de tablas relacionadas.

Gracias por su ayuda .... =)
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

RE:Muchos Deletes

Publicado por A.F.G.S (47 intervenciones) el 29/04/2010 11:30:31
Hola, ¿como tienes las relaciones de las tablas?
Si tienes las reglas de actualizacion y borrado de la relacion de las tablas en CASCADE no deberias tener problemas.

Un Saludo
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

RE:Muchos Deletes

Publicado por Orcano (42 intervenciones) el 29/04/2010 22:39:06
Prueba utilizando triggers creados en la base de datos, de esa forma solo utilizarás un delete desde el código y el resto lo hará el motor de la base de datos.
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

RE:Muchos Deletes

Publicado por Marcela (24 intervenciones) el 30/04/2010 01:54:28
Gracias a los dos por su respuesta, pero realmente no se como se utiliza lo que mencionan.

Si tienes las reglas de actualizacion y borrado de la relacion de las tablas en CASCADE: Esto donde se realiza en el management studio?


Prueba utilizando triggers creados en la base de datos, de esa forma solo utilizarás un delete desde el código y el resto lo hará el motor de la base de datos. ¿Esto como se realiza?


=) Gracias
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

RE:Muchos Deletes

Publicado por Marcela (24 intervenciones) el 30/04/2010 02:59:19
En SQL Server Management Studio ya encontre como hacer las relacion y activar la eliminacion y actualizacion en cascada. Solamente abri el diseño de la tabla "Banco "y di clic derecho en relaciones y cree mi relacion. En este caso (FK_Empresa_Banco)

Pero tengo el siguiente problema: Si elimino una Empresa me elimina a todos los bancos que pertenecen a dicha empresa. Pero si elimino a un Banco me elimina también a la empresa que pertenece. =(

¿Como le puedo hacer para que no elimine a la Empresa si elimino a un Banco?

Ya que mi relacion es :: Una empresa tiene de 1 a n Bancos.


Gracias
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

RE:Muchos Deletes

Publicado por Damian (824 intervenciones) el 30/04/2010 14:52:35
Me parece que tienes problemas en la relacion, inviertelas, deberia ser de 1 a infinito en tu caso la relacion.
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