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 | X | X | X |
DELETE | X | X | |
INSERT | X | X | |
REFERENCES | X | | |
SELECT | X | X | |
UPDATE | X | X | |
EXECUTE | | | X |
例
次のステートメントによって、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'
関連項目