close

Verwijderen (SQL)

Ga naar navigatie Ga naar zoeken

VERWIJDEREN  - In talen als MDl, een SQL - bewerking om records uit een tabel te verwijderen. De criteria voor het selecteren van records voor verwijdering worden bepaald door de waar-clausule . Als het selectiecriterium niet is gedefinieerd, worden alle records verwijderd.

  • In DBMS'en die triggers ondersteunen , kan de Delete-bewerking ervoor zorgen dat ze worden geactiveerd;
  • Als er externe sleutels in de tabel staan, moeten alle onderliggende records die in ondergeschikte tabellen moeten worden verwijderd, ook worden verwijderd om de referentiële integriteit te waarborgen ;
  • In DBMS'en die transacties ondersteunen , moet de uitvoering van de Delete-bewerking worden bevestigd ( COMMIT ) of weerlegd ( ROLLBACK ) door de juiste bewerkingen aan te roepen.

Syntaxis

Algemene opdrachtsyntaxis:

VERWIJDEREN  VAN  < Tabelnaam  > WAAR < Voorwaarde recordselectie > _ _    

Het gevolg van het uitvoeren van een dergelijke opdracht is het verwijderen van die rijen uit de tabel <TableName> die voldoen aan de voorwaarde <Record Selection Condition> . De opdracht geeft echter geen resultaat en kan daarom niet worden gebruikt als parameter in de opdracht SELECT .

Records uit meerdere tabellen verwijderen

Om een ​​verwijdering tussen tabellen uit te voeren, moeten externe sleutels worden ingesteld om trapsgewijs te verwijderen en bij te werken. Deze optie werkt niet:

VERWIJDEREN  < Naam  record  om te  verwijderen > 
    ->  FROM  < Naam  tabel 1 >  JOIN  < Naam  tabel 2 >  AAN  < voorwaarde  voor deelname > ;

En dit zou kunnen werken:

VERWIJDER  ab ,  b 
  VAN  Auteurs  AS  a ,  AuteurArtikel  AS  ab ,  Artikelen  AS  b 
  WAAR  a . AuthID = ab . AuthID  EN  ab . ArtikelID = b . ArtikelID 
    EN  AuthorLastName = 'Henry' ;

Gerelateerde commando's

Het verwijderen van alle records uit een tabel in aanwezigheid van externe sleutels en het transactiemechanisme kan lang duren. De TRUNCATE- bewerking kan worden gebruikt om een ​​tafel volledig leeg te maken .