目的
REVOKEは、1人または複数のユーザー、プロキシ ユーザー、データベース、またはロールから明示権限を取り除きます。取り消す権限は、自動的に与えられたものであっても、前のGRANT文で与えられたものであってもかまいません。
REVOKEには、次の形式があります。これらの機能と構文規則は異なります。
REVOKEの形式 | 目的 |
---|---|
REVOKE (MONITOR形式) | パフォーマンスのモニターを取り消します。 |
REVOKE (ロール形式) | ユーザーおよびその他のロールに対するロール メンバーシップを取り消します。 |
REVOKE (SQL形式) | データベース オブジェクトに対するアクセスや作成、ロギングの権限を取り消します。 |
REVOKE LOGON | システム ログオン権限を取り消します。 |
REVOKE MAP | ユーザーおよびロールから既存の連続マップまたはスパース マップを取り消します。 |
REVOKE ZONE | ユーザーまたはロールからゾーン ゲストのステータスを取り消します。 |
REVOKE CONNECT THROUGH | 信頼済みユーザーを介したプロキシ永久ユーザーまたはプロキシ アプリケーション ユーザーとして接続するための権限を取り消します。 |
REVOKEで削除できる権限と削除できない権限
REVOKE文は、DBC.AccessRightsテーブルに記録されている明示権限に対して操作を行ないます。自動的または明示的に与えられる明示権限のみ取り消せます。
ほとんどの場合、暗黙権限は、暗黙権限を保持しているユーザーがそれらの権限を他のユーザーに付与することを許可するだけで、それらの権限に対応するSQL文を実行することを許可するわけではありません。一般に、アクセス保護されたSQL文を実行するには明示権限が必要です。このルールの主な例外は、ビュー、マクロ、およびプロシージャに対する権限です。
暗黙権限は所有権によって決定されるため、取り消すことができません。 所有権を変更するためのGIVE文を使用することにより、暗黙権限に影響を与えることができます。 詳細は、GIVEを参照してください。
REVOKE (SQL形式)とREVOKE (MONITOR形式)の機能の相違点
SQLおよびMONITORのREVOKEの形式はそれぞれ独立した文です。あるユーザーから、MONITORを含むすべての権限を取り消すためには、付与者は、以下の文を両方とも実行しなければなりません。
REVOKE ALL PRIVILEGES ON object FROM user_name; REVOKE MONITOR PRIVILEGES FROM user_name;
2つの文はともに、適切な権限をWITH GRANT OPTION付きで暗黙的または明示的に持っていることを想定しています。
ANSI準拠
REVOKE (ロール形式)とREVOKE(SQL形式)は、ANSI/ISO SQL:2011に準拠しています。他の形式のREVOKEは、ANSI/ISO SQL:2011規格の拡張機能です。