この形式の REVOKE ステートメントは、 パッケージに対する CONTROL、BIND、および EXECUTE 特権を取り消します。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込むか、 あるいは動的 SQL ステートメントの使用によって発行することができます。 このステートメントは、動的に作成できるステートメントです。 しかし、バインド・オプション DYNAMICRULES BIND を適用する場合は、 ステートメントを動的に作成することはできません (SQLSTATE 42509)。
許可
このステートメントの許可 ID には、以下の特権が少なくとも 1 つ含まれている必要があります。
CONTROL 特権を取り消すには、SYSADM または DBADM の権限が必要です。
他の GRANT ステートメントについては、REVOKE (データベース権限)、REVOKE (索引特権)、 REVOKE (スキーマ特権)、REVOKE (サーバー特権)、および REVOKE (表、視点、またはニックネーム特権)を参照してください。
構文
.-,-----------------. V | >>-REVOKE------+-BIND---------+--+------------------------------> +-CONTROL------+ | (1) | '-EXECUTE------' (2) >----ON--PACKAGE-------package-name-----------------------------> .-,------------------------------------. V | >----FROM----+-+-------+---authorization-name--+--+------------>< | +-USER--+ | | '-GROUP-' | '-PUBLIC--------------------------'
注:
説明
CONTROL 特権も取り消すのでない限り、 パッケージに対する CONTROL 特権を与えられている 許可 ID から BIND 特権を取り消すことはできません。
パッケージを除去する特権、および他のユーザーに対してパッケージの特権を拡張する特権を取り消します。
CONTROL を取り消しても、他のパッケージ特権は取り消されません。
CONTROL 特権も取り消すのでない限り、 パッケージに対する CONTROL 特権を与えられている 許可 ID から EXECUTE 特権を取り消すことはできません。
REVOKE ステートメント自体の許可 ID は使用できません (SQLSTATE 42502)。 REVOKE ステートメントの許可 ID と同じである authorization-name から特権を取り消すことはできません。
規則
例
例 1: PUBLIC から、パッケージ CORPDATA.PKGA に対する EXECUTE 権限を取り消します。
REVOKE EXECUTE ON PACKAGE CORPDATA.PKGA FROM PUBLIC
例 2: ユーザー FRANK および PUBLIC から、 RRSP_PKG パッケージに対する CONTROL 権限を取り消します。
REVOKE CONTROL ON PACKAGE RRSP_PKG FROM USER FRANK, PUBLIC