|
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 キーワードを使用した場合に取り消される権限を示しています。
ALL によって取り消される権限
|
テーブル
|
ビュー
|
ストアド プロシージャ
|
---|---|---|---|
ALTER
|
|
|
|
DELETE
|
|
|
|
INSERT
|
|
|
|
REFERENCES
|
|
|
|
SELECT
|
|
|
|
UPDATE
|
|
|
|
EXECUTE
|
|
|
|
次のステートメントによって、dannyd からテーブル Class のすべての権限が取り消されます。
次のステートメントでは、dannyd と travisk からテーブル Class のすべての権限が取り消されます。
次のステートメントによって、dannyd と travisk からテーブル Class の DELETE 権限が取り消されます。
次の例では、keithv と miked からテーブル Class の INSERT 権限が取り消されます。
次の例では、keithv と brendanb から、テーブル Person の列 First_name と Last_name の INSERT 権限が取り消されます。
次のステートメントにより、dannyd からテーブル Class の ALTER 権限が取り消されます。
次の例では、dannyd と travisk からテーブル Class の SELECT 権限が取り消されます。
次のステートメントにより、dannyd と travisk から、テーブル Person の列 First_name と Last_name の SELECT 権限が取り消されます。
次の例では、dannyd と travisk からテーブル Person の UPDATE 権限が取り消されます。
次の例では、user1 から CREATE VIEW 権限が取り消されます。
次の例では、ストアド プロシージャ MyProc1 に関連する user1 の EXECUTE 権限が取り消されます。
次の例では、DEMODATA サンプル データベースのセキュリティが有効になっており、ユーザー名 "USAcctsMgr" に対して、テーブル Person の ID 列に SELECT 権が付与されているものとします。そのユーザーから、対象列の SELECT 権限を取り消します。以下のステートメントを使用します。
|