GRANT (モジュール特権) ステートメント

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

呼び出し

このステートメントは、アプリケーション・プログラムに組み込んだり、動的 SQL ステートメントを使用して発行したりすることができます。 これは、DYNAMICRULES の実行動作がパッケージに効力を持つ場合にのみ、動的に準備できる実行可能ステートメントです (SQLSTATE 42509)。

許可

ステートメントの許可 ID によって保持されている特権には、少なくとも以下のいずれかの権限が含まれていなければなりません。
  • モジュールに対する EXECUTE の WITH GRANT OPTION
  • モジュールが含まれるスキーマに対するスキーマ ACCESSCTRL 権限
  • ACCESSCTRL または SECADM 権限

構文

構文図を読む構文図をスキップするGRANTEXECUTEONMODULE module-nameTO ,USERGROUPROLEauthorization-namePUBLIC WITH GRANT OPTION

説明

EXECUTE
パブリッシュ済みモジュール・オブジェクトを参照する特権を与えます。これには、以下のことを行うための特権が含まれます。
  • モジュール内に定義されているパブリッシュ済みルーチンを実行する。
  • モジュール内に定義されているパブリッシュ済みグローバル変数を読み書きする。
  • モジュール内に定義されているパブリッシュ済みユーザー定義タイプを参照する。
  • モジュール内に定義されているパブリッシュ済み条件を参照する。
ON MODULE module-name
特権を付与するモジュールを指定します。module-name は、現行サーバーに存在するモジュールを示していなければなりません (SQLSTATE 42704)
TO
特権を誰に付与するかを指定します。
USER
authorization-name がユーザーであることを指定します。
GROUP
authorization-name がグループ名であることを指定します。
ROLE
authorization-name がロール名であることを指定します。 ロール名は、現行サーバーに存在するものでなければなりません (SQLSTATE 42704)。
authorization-name,...
1 つ以上の許可 ID をリスト表示します。
PUBLIC
一連のユーザー (許可 ID) に特権を付与します。詳細は、『許可、特権、およびオブジェクト所有権』を参照してください。
WITH GRANT OPTION
指定した authorization-name に対し、EXECUTE 特権を他のユーザーに与えることを許可します。WITH GRANT OPTION を省略すると、指定した authorization-name は、他のいずれかのソースからその権限を受け取らないかぎり、EXECUTE 特権を他のユーザーに与えることはできません。

  • グループに付与される特権: グループに付与される特権は、以下に対する許可検査には使用されません。
    • パッケージ内の静的 DML ステートメント
    • CREATE VIEW ステートメントの処理過程での基本表
    • マテリアライズ照会表の CREATE TABLE ステートメントの処理過程での基本表
    • SQL ルーチンの作成
    • トリガーの作成

ユーザー JONES に、モジュール MYMODA に対する EXECUTE 特権を付与します。
   GRANT EXECUTE
     ON MODULE MYMODA
       TO JONES