close

Elimina (SQL)

Vai alla navigazione Vai alla ricerca

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 .