GRANT文(パッケージ権限)

この形式の GRANT ステートメントは、パッケージに対する特権を付与します。

GRANT(パッケージ権限)の構文

構文図を読むビジュアルシンタックスダイアグラムをスキップする GRANT ALL,BINDCOPYEXECUTERUN ON PACKAGE ,collection-id.パッケージ名* TO,authorization-nameROLErole-namePUBLIC WITH GRANT OPTION

GRANT(パッケージ権限)の説明

BIND
指定したパッケージに関して、BIND サブコマンドおよび REBIND サブコマンド を使用する特権を付与します。

BIND パッケージ特権を使用して、既存パッケージの新規バージョンの追加をユーザーに許可することもできます。 新しいパッケージや既存のパッケージの新しいバージョンの作成に必要な権限の詳細については、「GRANT(パッケージ権限)に関する注意事項」 を参照してください。

COPY
指定したパッケージに関して、BIND サブコマンドの COPY オプション を使用する特権を付与します。
EXECUTE
指定したパッケージを使うアプリケーション・プログラムを実行し 、BIND PLAN コマンド および REBIND PLAN コマンドの PKLIST の後にパッケージを指定するための 特権を付与します。 この他に、RUN も同じ特権を表します。
すべて
ON 文節で指定するパッケージに関して GRANT 権限を持っている パッケージ特権を、すべて付与します。
パッケージに記載 collection-id.package-name,...
付与しようとする特権の対象となるパッケージを指定します。 パッケージ特権の付与は、パッケージのすべてのバージョンに適用されます。 以下の 2 つの 形式の項目を、同時にリストすることができます。
  • collection-id.package-name は、単一のパッケージを明示的に指定します。 この名前は、現行サーバーに存在するパッケージを示すものでなければなりません。
  • collection-id.* 指定されたコレクション内のすべてのパッケージに適用されます。 これには、現存しているパッケージだけでなく、将来のパッケージも含まれます。 現行サーバーにあるコレクションに対して付与されますが、collection-id は、 付与を行う時点で存在しているコレクションを示すものでなくても構いません。

    この形式で特権を付与する場合は、あるコレクションまたはすべてのコレクションに 渡る WITH GRANT OPTION 付きの PACKADM 権限、SYSADM 権限、また は SYSCTRL 権限が必要です。 このため、ステートメントに WITH GRANT OPTION を含めた場合、 この形式で付与するときには無視されますが、特定パッケージに関 する付与の時には無視されません。

今後
TO句の説明については、GRANT文を参照してください。
WITH GRANT OPTION
WITH GRANT OPTION句の説明については、GRANT文を参照してください。

GRANT(パッケージ権限)に関する注釈

新規パッケージまたは既存のパッケージの新規バージョンを 追加するのに必要な許可は、インストール・パネル DSNTIPP の フィールド BIND NEW PACKAGE の値によって異なります。 デフォルト値は BINDADD です。

BIND NEW PACKAGE の値が BINDADD である場合、新規パッケージまたは既存のパッケージの 新規バージョンをコレクションへ追加するためには、所有者が以下のいずれかを持っていなければなりません。

  • BINDADD システム特権と、コレクション (または、コレクションすべて) のため の CREATE IN 特権または PACKADM 権限のいずれか
  • SYSADM または SYSCTRL 権限

BIND NEW PACKAGE の値が BIND である場合、新規パッケージまたは既存のパッケージの新規バージョンをコレクションへ追加するためには、所有者が以下のいずれかを持っていなければなりません。

  • BINDADD システム特権と、コレクション (または、コレクションすべて) のため の CREATE IN 特権または PACKADM 権限のいずれか
  • SYSADM または SYSCTRL 権限
  • 該当のコレクション、またはすべてのコレクションに対する PACKADM 権限
  • BIND パッケージ特権を持つユーザーも、既存パッケージの新規バージョンを追加することが可能

代替構文および同義語Db2 の以前のリリースや、 Db2 ファミリーの他の製品との互換性を確保するため、 Db2 では、PROGRAMをPACKAGEの同義語として指定することをサポートしています。

GRANT(パッケージ権限)の例

例 1: コレクション DSN8CC61 内のすべてのパッケージをコピーする特権を、LEWIS に付与します。
   GRANT COPY ON PACKAGE DSN8CC61.* TO LEWIS;
例 2: パッケージ CLCT1.PKG1 に関して、 GRANT 権限付きの BIND 特権を持っているものとします。 パッケージ CLCT2.PKG2 に関して、GRANT 権限付きの EXECUTE 特権を 持っているものとします。 コレクション CLCT1 および CLCT2 内のパッケージに関して、 この他に GRANT 権限付きの特権は持っていません。 この時、以下のステートメントを実行すると、 LEWIS に、 CLCT1.PKG1 に対する BIND 特権および CLCT2.PKG2 に対する EXECUTE 特権が付与されます。このほかの付与される特権はありませ ん。 付与された特権には、GRANT 権限は含まれません。
   GRANT ALL ON PACKAGE CLCT1.PKG1, CLCT2.PKG2 TO JONES;
例 3: コレクション DSN9CC13 内のすべてのパッケージを実行する特権を、ロール ROLE1 に付与します。
GRANT EXECUTE ON PACKAGE DSN9CC13.* TO ROLE ROLE1;