![]() |
ayuda con sentencia delete anidada
Hola a todos, tengo dos tablas: Clientes e Historia. Clientes es papá de historia, lo que quiero es borrar de historia los registros donde el cliente tenga fecha menor al año 2015, lo tengo así...
DELETE FROM HISTORIA where ID_CLIENTE IN (SELECT ID_CLIENTE FROM CLIENTES WHERE fecha < '01/01/2015') AND ID_HISTORIA IN (SELECT ID_HISTORIA FROM CLIENTES WHERE fecha < '01/01/2015') pero no sé si funciona porque se queda en el limbo pensando, alguien sabe si se puede optimizar ésta sentencia? muchas gracias a todos. |
En principio debería funcionar. Verifica si la consulta realmente selecciona algún registro:
Lo otro es dotar a las tablas de los índices adecuados, si no los tiene y si la consulta va a ser repetitiva. |
Hola SmartZooft, bienvenido a Club Delphi :), como acostumbramos con los noveles te aconsejamos leer nuestra guía de estilo.
Por favor, cuando incluyas código en tus mensajes usa etiquetas para darle más legibilidad de este modo: ![]() Saludos :) |
Cita:
Y si funciona bien
|
Cita:
|
Cita:
|
Cita:
|
La franja horaria es GMT +2. Ahora son las 22:28:55. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi