Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => 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