GRANT (表スペース特権) ステートメント

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

呼び出し

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

許可

ステートメントの許可 ID によって保持されている特権には、少なくとも以下のいずれかの権限が含まれていなければなりません。
  • 表スペースを使用するための WITH GRANT OPTION
  • ACCESSCTRL、SECADM、SYSADM、または SYSCTRL 権限

構文

Read syntax diagramSkip visual syntax diagramGRANTUSEOF TABLESPACEtablespace-name TO,USERGROUPROLEauthorization-namePUBLICWITH GRANT OPTION

説明

USE
表を作成する際に表スペースを指定したり、 デフォルトの表スペースを使用したりするための特権を付与します。 表スペースの作成者には、USE 特権と GRANT オプションが自動的に GRANT されます。
OF TABLESPACE 表スペース名
どの表スペースに対する USE 特権を付与するかを指定します。 ここで、 SYSCATSPACE (SQLSTATE 42838) や SYSTEM TEMPORARY 表スペース (SQLSTATE 42809) を指定することはできません。
今後
USE 特権を誰に付与するかを指定します。
ユーザー
authorization-name がユーザーであることを指定します。
GROUP
authorization-name がグループ名であることを指定します。
ROLE
authorization-name がロール名であることを指定します。 ロール名は、現行サーバーに存在するものでなければなりません (SQLSTATE 42704)。
権限名
1 つ以上のユーザー、グループ、またはロールの許可 ID のリストを指定します。

この許可 ID のリストに、このステートメントを発行するユーザーの許可 ID を含めることはできません (SQLSTATE 42502)。

PUBLIC
一連のユーザー (許可 ID) に USE 特権を付与します。
WITH GRANT OPTION
指定した authorization-name に対し、 USE 特権を他のユーザーに与えることを許可します。

ルール

  • 指定したそれぞれの authorization-name に関して、USER、GROUP、ROLE のいずれも指定されていない場合には、次のようになります。
    • インスタンスに対して有効なセキュリティー・プラグインによって authorization-name の状況を判別できなければ、エラーが戻されます (SQLSTATE 56092)。
    • authorization-name がデータベースでは ROLE として定義され、有効なセキュリティー・プラグインでは GROUP または USER のいずれかとして定義されている場合には、エラーが戻されます (SQLSTATE 56092)。
    • 有効なセキュリティー・プラグインに従って authorization-name が USER と GROUP の両方として定義されている場合、エラーが戻されます (SQLSTATE 56092)。
    • authorization-name有効なセキュリティー・プラグインに従って USER のみとして定義されている場合、または未定義の場合は、USER が想定されます。
    • authorization-name が、 有効なセキュリティー・プラグインに従って GROUP としてのみ定義されている場合は、GROUP が想定されます。
    • authorization-nameデータベースで ROLE としてのみ定義されている場合には、ROLE であると見なされます。

ユーザー BOBBY に、表スペース PLANS に表を作成する許可と、この特権を他のユーザーに付与する許可を与えます。
   GRANT USE OF TABLESPACE PLANS TO BOBBY WITH GRANT OPTION