Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Borrado de tablas vinculadas (https://www.clubdelphi.com/foros/showthread.php?t=50830)

MaMu 29-11-2007 07:13:38

Borrado de tablas vinculadas
 
Necesito hacer un Borrado de tablas vinculadas, las cuales son:


Código:


id_tablaA
Acampo1
Acampo2
Acampo3
AFecha

relacionada por id_tablaA

Código:


id_tablaB
Bcampo1
id_tablaA
Bcampo2

Necesito borrar todos los registros de la tablaA cuyo año de fecha=2007, pero a su vez, que se eliminen de tablaB aquellos donde tablaA.id_tablaA = tablaB.id_tablaA

Estaría bien esto?

Código SQL [-]
sqlstr:='delete from tablaA where(Afecha)=2007 join tablaB where(tablaB.id_tablaA=tablaA.id_tablaA)';

Saludos

MaMu 29-11-2007 08:35:07

SOLUCIONADO

La solucion era muy simple, lo que yo no tenia en cuenta era la forma referencial que admite la instruccion DELETE, por lo que, para el fin buscado, tenia que interpretar el borrado de un registro que se encontrase dentro de la existencia de una seleccion y sus criterios. Quedando resuelto como:

Código SQL [-]
 
delete from tablaB where exists (select * from tablaA where tablaB .id_tablaA =tablaA .id_tablaA and year(tablaA .Afecha)=2007)');

Saludos


La franja horaria es GMT +2. Ahora son las 10:09:52.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi