SQL Engine Reference (v11)

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 キーワードを使用した場合に取り消される権限を示しています。

表 44 ALL キーワードによって取り消される権限(オブジェクトの種類別)
ALL によって取り消される権限
テーブル
ビュー
ストアド プロシージャ
ALTER

DELETE

 
INSERT

 
REFERENCES

 
 
SELECT

 
UPDATE

 
EXECUTE
 
 

次のステートメントによって、dannyd からテーブル Class のすべての権限が取り消されます。

REVOKE ALL on Class from 'dannyd' 

次のステートメントでは、dannyd と travisk からテーブル Class のすべての権限が取り消されます。

REVOKE ALL on Class from dannyd, travisk 
666

次のステートメントによって、dannyd と travisk からテーブル Class の DELETE 権限が取り消されます。

REVOKE DELETE on Class from dannyd, travisk 
666

次の例では、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  
666

次のステートメントにより、dannyd からテーブル Class の ALTER 権限が取り消されます。

REVOKE ALTER ON Class from dannyd 
666

次の例では、dannyd と travisk からテーブル Class の SELECT 権限が取り消されます。

REVOKE SELECT ON Class from dannyd, travisk  

次のステートメントにより、dannyd と travisk から、テーブル Person の列 First_name と Last_name の SELECT 権限が取り消されます。

REVOKE SELECT(First_name, Last_name) ON Person from dannyd, 
travisk 
666

次の例では、dannyd と travisk からテーブル Person の UPDATE 権限が取り消されます。

REVOKE UPDATE ON Person ON dannyd, travisk 
666

次の例では、user1 から CREATE VIEW 権限が取り消されます。

REVOKE CREATEVIEW FROM user1; 
666

次の例では、ストアド プロシージャ MyProc1 に関連する user1 の EXECUTE 権限が取り消されます。

REVOKE EXECUTE ON PROCEDURE MyProc1 FROM user1; 
666

次の例では、DEMODATA サンプル データベースのセキュリティが有効になっており、ユーザー名 "USAcctsMgr" に対して、テーブル Person の ID 列に SELECT 権が付与されているものとします。そのユーザーから、対象列の SELECT 権限を取り消します。以下のステートメントを使用します。

REVOKE SELECT ( ID ) ON Person FROM 'USAcctsMgr' 

関連項目

GRANT


RESTRICT

ROLLBACK