REVOKE służy do odbierania uprawnień użytkownikowi bazy danych. Jest poleceniem odwrotnym do GRANT, które nadaje uprawnienia.
Składnia
REVOKE uprawnienie1, uprawnienie2 ON obiekt FROM użytkownik;
Przykład:
REVOKE SELECT, UPDATE ON artykuly FROM jan;
To polecenie odbiera użytkownikowi jan możliwość:
- odczytywania danych z tabeli artykuly za pomocą SELECT,
- modyfikowania istniejących rekordów za pomocą UPDATE.
Ważna zasada
REVOKE odbiera tylko te uprawnienia, które zostały wskazane w poleceniu. Nie usuwa automatycznie wszystkich pozostałych praw użytkownika.
Jeżeli wcześniej wykonano:
GRANT ALL PRIVILEGES ON artykuly TO jan;
a następnie:
REVOKE SELECT, UPDATE ON artykuly FROM jan;
to użytkownik jan nadal ma inne uprawnienia wynikające z ALL PRIVILEGES, np. może mieć prawo do wstawiania danych (INSERT) lub tworzenia obiektów, jeśli takie uprawnienia obejmował zakres nadania.
Typowe uprawnienia w SQL
Najczęściej spotykane uprawnienia to:
- SELECT — odczyt danych,
- INSERT — dodawanie nowych rekordów,
- UPDATE — zmiana istniejących rekordów,
- DELETE — usuwanie rekordów,
- CREATE — tworzenie obiektów bazy,
- DROP — usuwanie obiektów.
Wniosek egzaminacyjny
Po GRANT ALL PRIVILEGES użytkownik otrzymuje szeroki zakres praw. Po REVOKE SELECT, UPDATE traci tylko prawo odczytu i edycji istniejących danych, ale zachowuje pozostałe uprawnienia, np. tworzenie tabeli i wstawianie danych.