Discussione:
eliminare da una tabella i record contenuti in un'altra tabella
(troppo vecchio per rispondere)
ZzoT!
2007-06-20 09:47:00 UTC
Permalink
Ho due tabelle:

tabella 1 e tabella_campi_da_eliminare
Vorrei eliminare dalla tabella1 i record contenuti in
tabella_campi_da_eliminare

Ho cercato di fare una query di eliminazione ma il risultato è il
messaggio di errore "could not delete from specified field"
la query è

DELETE tabella_1.*
from tabella_record_da_eliminare INNER JOIN tabella_1 ON
tabella_record_da_eliminare.[Finish code] = tabella_1.[Component
Code];

le due tabelle hanno un join su due campi numerici

grazie.
PBsoft
2007-06-20 10:00:27 UTC
Permalink
Post by ZzoT!
tabella_1
tabella_campi_da_eliminare
Vorrei eliminare dalla tabella1 i record contenuti in
tabella_campi_da_eliminare
Ho cercato di fare una query di eliminazione ma il risultato è il
messaggio di errore "could not delete from specified field"
la query è
DELETE tabella_1.*
from tabella_record_da_eliminare INNER JOIN tabella_1 ON
tabella_record_da_eliminare.[Finish code] = tabella_1.[Component
Code];
le due tabelle hanno un join su due campi numerici
L'eliminazione è bloccata dalla presenza della relazione con integrità referenziale.

La relazione tra le due tabelle è 1-1 o 1-M? Da quanto hai premesso pare
che la relazione sia 1-1, ma se è così, allora ti consiglio di toglierla
se non hai esigenze particolari.
Una volta tolta la relazione 1-1, puoi eseguire la seguente query:

DELETE FROM tabella1
WHERE campochiave IN (SELECT campochiave2 FROM tabella_record_da_eliminare)

--
PBsoft di Gabriele Bertolucci
www.pbsoft.it
skype:pbsoftsolution
ZzoT!
2007-06-20 10:11:55 UTC
Permalink
grazie per la risposta
PBsoft
2007-06-20 10:16:23 UTC
Permalink
Post by ZzoT!
grazie per la risposta
Prego, ma piacerebbe anche avere un riscontro dai suggerimenti che si danno.
Non hai nemmeno risposto alle domande che ti ho posto.
E, poi, comunque, la soluzione ha funzionato?
Facci sapere.

--
PBsoft di Gabriele Bertolucci
www.pbsoft.it
skype:pbsoftsolution
ZzoT!
2007-06-20 13:01:32 UTC
Permalink
Post by PBsoft
Prego, ma piacerebbe anche avere un riscontro dai suggerimenti che si danno.
Non hai nemmeno risposto alle domande che ti ho posto.
E, poi, comunque, la soluzione ha funzionato?
Facci sapere.
Scusa ma sono dovuto uscire di corsa

le tabelle hanno relazione 1-1.
Ho provato il tuo suggerimento ma non sono riuscito a farlo
funzionare. Avrò sbagliato qualcosa.
ho provato invece con questo lasciando la relazione 1-1

DELETE DISTINCTROW Prodotti_finishing.*
FROM Prodotti_finishing INNER JOIN prodotto_finito_componente ON
Prodotti_finishing.[Finish code] = prodotto_finito_componente.[Finish
code];

In questo caso ha funzionato.
Grazie
PBsoft
2007-06-20 15:36:50 UTC
Permalink
Post by ZzoT!
le tabelle hanno relazione 1-1.
Se non hai un validissimo motivo (e non me ne vengono in mente nessuni) ti
consiglio di unificare le due tabelle e togliere la relazione 1-1.

--
PBsoft di Gabriele Bertolucci
www.pbsoft.it
skype:pbsoftsolution

Continua a leggere su narkive:
Loading...