Elimina (SQL)
DELETE - In linguaggi come MDl, un'operazione SQL per rimuovere i record da una tabella. I criteri per la selezione dei record da eliminare sono determinati dalla clausola where . Se il criterio di selezione non è definito, tutti i record vengono eliminati.
- Nei DBMS che supportano i trigger , l'operazione di eliminazione può provocarne l'attivazione;
- Se nella tabella sono presenti chiavi esterne , è necessario eliminare anche tutti i record figlio da eliminare nelle tabelle subordinate per garantire l'integrità referenziale ;
- Nei DBMS che supportano le transazioni , l'esecuzione dell'operazione di Cancellazione deve essere confermata ( COMMIT ) o confutata ( ROLLBACK ) richiamando le operazioni appropriate.
Sintassi
Sintassi generale del comando:
ELIMINA DA < Nome tabella > DOVE < Condizione di selezione record >
La conseguenza dell'esecuzione di tale comando sarà l'eliminazione di quelle righe dalla tabella <TableName> che soddisfano la condizione <Record Selection Condition> . Tuttavia, il comando non restituisce alcun risultato e, pertanto, non può essere utilizzato come parametro nel comando SELECT .
Rimozione di record da più tabelle
Per eseguire un'eliminazione tra tabelle, le chiavi esterne devono essere impostate per l'eliminazione e l'aggiornamento a cascata. Questa opzione non funzionerà:
DELETE < Nome del record da eliminare >
-> FROM < Nome della tabella 1 > JOIN < Nome della tabella 2 > ON < condizione di unione > ;
E questo potrebbe funzionare:
ELIMINA ab , b
DA Autori AS a , Articolo d' autore AS ab , Articoli AS b
WHERE a . AutID = ab . AuthID E ab . ID articolo = b . IDArticolo
E CognomeAutore = 'Henry' ;
Comandi correlati
L'eliminazione di tutti i record da una tabella in presenza di chiavi esterne e del meccanismo di transazione può richiedere molto tempo. L'operazione TRUNCATE può essere utilizzata per cancellare completamente una tabella .