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 キーワードを使用した場合に取り消される権限を示しています。
表 37
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
============
次のステートメントによって、dannyd と travisk からテーブル Class の DELETE 権限が取り消されます。
REVOKE DELETE
on
Class
from
dannyd, travisk
============
次の例では、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 と 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
============
次の例では、dannyd と travisk からテーブル Person の UPDATE 権限が取り消されます。
REVOKE UPDATE ON Person ON dannyd, travisk
============
次の例では、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