REVOKE

REVOKEはユーザやロールから権限またはロールを剥奪するSQL文である。

ユーザ又はロールからシステム権限を剥奪する

ユーザ又はロールからシステム権限を剥奪する。

REVOKE privilege FROM {user|role}
privilege
ユーザ又はロールから剥奪するシステム権限を指定する。
user
システム権限を剥奪するユーザを指定する。
SQL> REVOKE ALTER ANY TABLE FROM tsuka;
role
システム権限を剥奪するロールを指定する。
SQL> REVOKE ALTER ANY TABLE FROM sales;

ユーザ又はロールからオブジェクト権限を剥奪する

ユーザ又はロールからオブジェクト権限を剥奪する。

REVOKE privilege ON object FROM {user|role}
privilege
ユーザ又はロールから剥奪するオブジェクト権限を指定する。
object
オブジェクトを指定する。
user
オブジェクト権限を剥奪するユーザを指定する。
role
オブジェクト権限を剥奪するロールを指定する。

自分自身に対して権限をGRANTまたはREVOKEすることはできない。

SQL> REVOKE DELETE ON maimi.emp FROM maimi;
REVOKE DELETE ON maimi.emp FROM maimi
                              *
行1でエラーが発生しました。:
ORA-01749: 自分自身に対して、権限をGRANT/REVOKEすることはできません

ユーザ又はロールからロールを剥奪する

ユーザ又はロールからロールを剥奪するには、REVOKE文を使用します。

REVOKE role FROM {user|frole}
role
剥奪するロールを指定する。
user
ロールを剥奪するユーザを指定する。
SQL> REVOKE sales FROM tsuka;
frole
ロールを剥奪するロールを指定する。

関連SQL