読み方 : リボークぶん

REVOKE文【REVOKE statement】

概要

REVOKE文とは、SQLデータ制御言語DCL)の一つで、GRANT文によって付与された操作権限を取り消すための構文。利用者やロールに与えられたシステム権限やオブジェクト権限を解除し、該当する操作を実行できない状態にする。データベースセキュリティを維持するための権限管理手段として用いられる。
REVOKE文のイメージ画像

基本的な構文は「REVOKE 権限 ON オブジェクト名 FROM 利用者名またはロール名」である。対象オブジェクトにはテーブルやビュースキーマなどが含まれ、権限には「SELECT」や「INSERT」「UPDATE」「DELETE」といったデータ操作権限のほか、「CONNECTION_ADMIN」のような管理系権限を指定できる。権限に「ALL」(またはALL PRIVILEGES)を指定すれば、対象オブジェクトに対するすべての権限を一括して取り消すことも可能である。

REVOKE文で取り消せるのは、GRANT文によって明示的に付与された権限に限られる。データベース管理者のようにシステム上あらかじめ固定で割り当てられている特権は、REVOKE文を実行しても剥奪できない。また、ロールを経由して間接的に利用者へ与えられている権限についても、利用者単位のREVOKE文では直接取り消すことができず、ロール自体を剥奪するか、ロール側が持つ権限をREVOKE文で取り消す必要がある。

多くのデータベース管理システムDBMS)では、権限を付与した本人または管理者権限を持つ利用者のみが、その権限をREVOKE文で取り消せる仕様になっている。GRANT文の実行時に他の利用者への再付与を認める「WITH GRANT OPTION」が付けられていた場合、元の権限を取り消す際には、連鎖的に再付与された権限も同時に取り消す「CASCADE」と、連鎖が存在する場合は取り消しをエラーにして禁止する「RESTRICT」のいずれかを選択する仕様を備えるDBMSもある。

REVOKE文とGRANT文は対になる操作として使われる。新たな担当者にデータベースへのアクセス権を与える際にはGRANT文を用い、担当を外れたり退職したりした際には不要になった権限をREVOKE文で取り消す。なお、権限を持たない利用者に対してREVOKE文を実行した場合の挙動はDBMSによって異なり、エラーとして処理されることもあれば、変化が起きないまま処理が完了することもある。

(2026.6.22更新)
 
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。