開発者リファレンス : データ アクセス方法 : SQL Engine Reference : SQL 構文リファレンス : REVOKE
  
このページをシェアする                  
REVOKE
REVOKE ステートメントにより、ユーザー ID を削除し、セキュリティで保護されているデータベースにおける特定のユーザーの権限を取り消します。REVOKE ステートメントを使って、CREATE TABLE、CREATE VIEW、および CREATE PROCEDURE の権限を取り消すことができます。
構文
REVOKE CREATETAB | CREATEVIEW | CREATESP FROM public またはユーザー/グループ名[, public またはユーザー/グループ名]...
 
REVOKE LOGIN FROM ユーザー名[, ユーザー名]...
 
REVOKE 権限 ON <* | [TABLE] テーブル名 [オーナー ネーム] | VIEW ビュー名 | PROCEDURE ストアド プロシージャ名> FROM ユーザー/グループ名[, ユーザー/グループ名]...
 
* ::= すべてのオブジェクト(つまり、すべてのテーブル、ビュー、およびストアド プロシージャ)
 
権限 ::= ALL
| SELECT [(列名[, 列名]...)]
| UPDATE [(列名[, 列名]...)]
| INSERT [(列名[, 列名]...)]
| DELETE
| ALTER
| REFERENCES
| EXECUTE
 
テーブル名 ::= ユーザー定義のテーブル名
 
ビュー名 ::= ユーザー定義のビュー名
 
ストアド プロシージャ名 ::= ユーザー定義のストアド プロシージャ名
 
public またはユーザー/グループ名 ::= PUBLIC | ユーザー/グループ名
 
ユーザー/グループ名 ::= ユーザー名 | グループ名
 
ユーザー名 ::= ユーザー定義のユーザー名
 
グループ名 ::= ユーザー定義のグループ名
備考
次の表は、特定の操作に対する構文を示しています。
この操作の権限を取り消す場合
REVOKE で使用するキーワード
CREATE TABLE
CREATETAB
CREATE VIEW
CREATEVIEW
CREATE PROCEDURE
CREATESP
次の表は、ALL キーワードを使用した場合に取り消される権限を示しています。
表 34 ALL によって取り消される権限(オブジェクトの種類別)
ALL によって取り消される権限
テーブル
ビュー
ストアド プロシージャ
ALTER
* 
* 
* 
DELETE
* 
* 
 
INSERT
* 
* 
 
REFERENCES
* 
 
 
SELECT
* 
* 
 
UPDATE
* 
* 
 
EXECUTE
 
 
* 
次のステートメントによって、dannyd からテーブル Class のすべての権限が取り消されます。
REVOKE ALL on Class from 'dannyd'
次のステートメントでは、dannyd と rgarcia からテーブル Class のすべての権限が取り消されます。
REVOKE ALL on Class from dannyd, rgarcia
============ 
次のステートメントによって、dannyd と rgarcia からテーブル Class の DELETE 権限が取り消されます。
REVOKE DELETE on Class from dannyd, rgarcia
============ 
次の例では、keithv と miked からテーブル Class の INSERT 権限が取り消されます。
REVOKE INSERT ON Class from keithv, miked
次の例では、keithv と brendanb から、テーブル Person の列 First_name と Last_name の INSERT 権限が取り消されます。
REVOKE INSERT(First_name,Last_name) ON Person from keithv, brendanb
============ 
次のステートメントによって、dannyd からテーブル Class の ALTER 権限が取り消されます。
REVOKE ALTER ON Class from dannyd
============ 
次の例では、dannyd と rgarcia からテーブル Class の SELECT 権限が取り消されます。
REVOKE SELECT ON Class from dannyd, rgarcia
次のステートメントによって、dannyd と rgarcia から、テーブル Person の列 First_name と Last_name の SELECT 権限が取り消されます。
REVOKE SELECT(First_name, Last_name) ON Person from dannyd, rgarcia
============ 
次の例では、dannyd と rgarcia からテーブル Person の UPDATE 権限が取り消されます。
REVOKE UPDATE ON Person ON dannyd, rgarcia
============ 
次の例では、user1 から CREATE VIEW 権限が取り消されます。
REVOKE CREATEVIEW FROM user1;
============ 
次の例では、ストアド プロシージャ MyProc1 に対する user1 の EXECUTE 権限が取り消されます。
REVOKE EXECUTE ON PROCEDURE MyProc1 FROM user1;
============ 
次の例では、Demodata サンプル データベースのセキュリティが有効になっており、ユーザー名 USAcctsMgr に対して、テーブル Person の ID 列に SELECT 権が付与されているものとします。そのユーザーから、対象列の SELECT 権限を取り消します。以下のステートメントを使用します。
REVOKE SELECT ( ID ) ON Person FROM 'USAcctsMgr'
関連項目
GRANT