Een data control language (DCL) is een computertaal, namelijk een deel van SQL, gebruikt om toegang tot een relationele database te controleren. Belangrijkste DCL-commando's:
- CONNECT maakt een verbinding met een bepaalde databaseserver.
- COMMIT maakt acties aangevraagd via vorige SQL-commando's permanent.
- ROLLBACK maakt deze acties daarentegen ongedaan.
- GRANT geeft bepaalde gebruikers bepaalde autorisaties voor bepaalde database-objecten.
- REVOKE verwijdert eerder toegekende autorisaties.
Voorbeelden
- GRANT CONNECT geeft een gebruiker de toelating om te verbinden met een database of een schema.
- GRANT SELECT geeft een gebruiker de toestemming om een tabel te lezen, dus het SELECT-statement te gebruiken op die tabel.
- GRANT INSERT geeft een gebruiker de toelating om rijen toe te voegen aan een tabel, dus het INSERT-statement te gebruiken op die tabel.
- GRANT UPDATE geeft een gebruiker de toelating om velden in een tabel te wijzigen, dus het UPDATE-statement te gebruiken op die tabel.
- GRANT DELETE geeft een gebruiker de toelating om rijen uit een tabel te verwijderen, dus het DELETE-statement te gebruiken op die tabel.
- GRANT USAGE geeft een gebruiker de toelating om een database-object (zoals schema, een functie, een deel van de opslagruimte, ...) te gebruiken.
Oracle voert na een GRANT of REVOKE automatisch een impliciete commit uit.
In PostgreSQL is een GRANT- of REVOKE-commando transactioneel, en kan dus ongedaan gemaakt worden met behulp van ROLLBACK.