REVOKE

REVOKE コマンドは、役割からのシステムおよびオブジェクトのアクセス権の取り消しに使用します。

システム・アクセス権の取り消しの構文

REVOKE system_permission,...
 FROM ROLE 'role_name',... ;

以下のリストには、役割から取り消し可能な各 system_permission が示されています。

ISQL
ISQL WRITE
ALTER SYSTEM DROP CONNECTION
ALTER SYSTEM SHUTDOWN
ALTER SYSTEM BACKUP
ALTER SYSTEM SET PROPERTY
CREATE DATABASE
CREATE FILE
CREATE RESTRICTION FILTER
CREATE SQL PROCEDURE
CREATE EXTERNAL PROCEDURE
CREATE SIGNAL
CREATE TRIGGER GROUP
CREATE USER
CREATE GROUP
CREATE ROLE
ALTER USER
ALTER GROUP
ALTER ROLE
DROP USER
DROP GROUP
DROP ROLE
GRANT ROLE
REVOKE ROLE

role_name は、アクセス権が取り消される役割の固有の名前が含まれているテキスト・ストリングです。

システムのアクセス権を取り消す例

revoke create table from role 'DDL_Admin';

オブジェクト・アクセス権の取り消しの構文

REVOKE object_permission,...
ON permission_object object_name
FROM ROLE 'role_name',... ;

ObjectServer オブジェクトの 1 つ以上のアクセス権の取り消しが可能です。 object_permission は、タイプ permission_object の ObjectServer オブジェクトに対して取り消す SQL コマンドを指定するのに使用します。 object_name は、オブジェクトの固有の名前を含むテキスト・ストリングです。

取り消し可能な各オブジェクトおよび関連するアクセス権の詳細は、以下の表に示されています。

表 1. オブジェクトとそれに関連付けられている権限
オブジェクト (permission_object) 権限 (object_permission)
データベース DROP

CREATE TABLE

CREATE VIEW

TABLE DROP

ALTER

SELECT

INSERT

UPDATE

DELETE

CREATE INDEX

DROP INDEX

表示 DROP

ALTER

SELECT

UPDATE

DELETE

TRIGGER GROUP DROP

ALTER

CREATE TRIGGER

TRIGGER DROP

ALTER

ファイル DROP

ALTER

WRITE

SQL PROCEDURE

EXTERNAL PROCEDURE

DROP

ALTER

EXECUTE

SIGNAL DROP

ALTER

RAISE

RESTRICTION FILTER DROP

ALTER

role_name は、アクセス権が取り消される役割の固有の名前が含まれているテキスト・ストリングです。

注: REVOKE コマンドは、許可階層内でカスケードしません。 例えば、SuperAdmin が LondonAdministrators 役割に CREATE TABLE 権限を付与した後、SuperAdmin 役割からこの権限を取り消した場合、LondonAdministrators 役割は CREATE TABLE 権限を保持します。

オブジェクトのアクセス権を取り消す例

revoke drop on database testdb from role 'DDL_Admin';