Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: WHK en 9 Agosto 2013, 16:42 pm



Título: Como eliminar datos de dos tablas simultaneamente? (MSSQL)
Publicado por: WHK en 9 Agosto 2013, 16:42 pm
Hola, tengo una pregunta...


Tengo tabla A y tabla B... la tabla A tiene varios items asociados a la tabla B, lo que necesito es eliminar todos los datos de la tabla B donde id_dato = 99 pero a su vez necesito que se eliminen todos los datos asociados de la tabla A solamente utilizando lenguaje SQL.

Había pensado en hacer un loop recorriendo cada valor de la tabla B e ir haciendo otro loop para ir eliminando los campos asociados de la tabla A, pero quiero saber si lo puedo optimizar a una sola consulta.

Los datos no están relacionados a traves del motor, solamente son índices libres para una mayor rapidéz.

Alguien tiene alguna idea de como hacerlo?


Título: Re: Como eliminar datos de dos tablas simultaneamente? (MSSQL)
Publicado por: WHK en 9 Agosto 2013, 16:47 pm
Encontré esto:

http://stackoverflow.com/questions/11869727/inner-join-delete-in-sql-server-2008

Se podrá hacer en una sola consulta en ves de dos?


Título: Re: Como eliminar datos de dos tablas simultaneamente? (MSSQL)
Publicado por: Novlucker en 9 Agosto 2013, 16:59 pm
O tienes una FK y un DELETE ON CASCASDE, o tienes que ejecutar más de una consulta, preferentemente en una TRANSACTION.

Saludos