GRANT i REVOKE należą do grupy poleceń DCL (Data Control Language), czyli poleceń służących do zarządzania uprawnieniami użytkowników bazy danych.
GRANT
Polecenie GRANT nadaje użytkownikowi określone uprawnienia do obiektu bazy danych, np. tabeli.
Przykład:
GRANT ALL PRIVILEGES ON klienci TO jan;
To polecenie nadaje użytkownikowi jan wszystkie dostępne uprawnienia do obiektu klienci, np. odczyt danych, dodawanie rekordów, usuwanie rekordów, modyfikację danych oraz zmianę struktury tabeli, jeśli dany system bazodanowy obsługuje takie uprawnienie.
REVOKE
Polecenie REVOKE odbiera użytkownikowi wskazane uprawnienia.
Przykład:
REVOKE SELECT, INSERT, UPDATE, DELETE ON klienci FROM jan;
To polecenie odbiera użytkownikowi jan możliwość:
- odczytywania danych (
SELECT), - wstawiania rekordów (
INSERT), - aktualizowania rekordów (
UPDATE), - usuwania rekordów (
DELETE).
Co zostaje po odebraniu części uprawnień?
Jeżeli wcześniej użytkownik dostał ALL PRIVILEGES, a potem odebrano mu tylko SELECT, INSERT, UPDATE, DELETE, to nadal posiada inne uprawnienia, które nie zostały odebrane.
W pytaniach egzaminacyjnych oznacza to zwykle, że użytkownik nadal może wykonywać operacje strukturalne, np. zmieniać strukturę tabeli za pomocą ALTER TABLE.
Ważne na egzaminie
Nie należy zakładać, że REVOKE usuwa wszystkie uprawnienia. Usuwa tylko te, które zostały jawnie wymienione w poleceniu.