Corsi on-line
Chiudi
Newsletter:
  • Seguici su Facebook
  • Seguici su Twitter
  • Seguici su Google+
  • Seguici via RSS
  • Seguici col tuo Smartphone

Cancellare record da più tabelle relazionate

Articolo scritto da Luca Ruggiero

Abbiamo visto nella Guida ad SQL del sito come effettuare ricerche su più tabelle grazie all'istruzione JOIN, oppure usando la sintassi di base dell'SQL.

Non è possibile instaurare relazioni fisiche tra più tabelle se non in lettura, quindi sia per l'inserimento, per la modifica, che per la cancellazione (caso specifico affrontato in questa sede), le relazioni instaurabili sono solo logiche.

(L'articolo continua più sotto...)

In fase di lettura avremo dei campi ad hoc per instaurare la relazione, ad esempio "tabella_a.id" (di tipo autoincrement) e "tabella_b.id_tab_a" (di tipo number).

Via codice applicativo (ASP, PHP, Visual Basic o quel che sia) e non via codice SQL, imposteremo due query di eliminazione che verranno eseguite di seguito ma separatamente.

Un esempio pratico

DELETE * FROM tabella_a WHERE id = 1
Elimina tutti i dati dalla tabella A che hanno il contatore uguale a 1.
DELETE * FROM tabella_b WHERE id_tab_a = 1
Elimina tutti i dati dalla tabella B che hanno il campo di riferimento della tabella A uguale a 1.

Lo scopo della cancellazione multipla, dunque, è quello di non lasciare nella tabella B dei campi inutili, dato che la loro presenza ha senso solo se esiste il dato corrispondente nella tabella principale; non esistendo più nella tabella A, nella tabella B non hanno più motivo di esistere.

Corsi
Corso MS AccessCorso MS Access
Impara a creare e gestire database in maniera semplice e veloce. A partire da 39 €.
Corso MySQLCorso MySQL
Gestione del database open-source. A partire da 49 €.
Corso SQL e DatabaseCorso SQL e Database
Creazione e gestione di database relazionali. A partire da 39 €.
Vedi anche...
Annunci

Mr.Webmaster

Pubblicità
Chi Siamo
Contattaci
Collabora
Note Legali
© 2003 - 2012 Mr.Webmaster - Il portale dei Webmaster Italiani - Tutti i diritti riservati | Powered by IKIweb Internet Media S.r.l. - PIVA 02848390122