GRANT (グローバル変数特権) ステートメント
この形式の GRANT ステートメントは、作成されたグローバル変数に 1 つ以上の特権を付与します。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込むか、あるいは対話式に発行することができます。 このステートメントは、動的に作成できる実行可能ステートメントです。
許可
ステートメントの許可 ID によって保持されている特権には、少なくとも以下のいずれかの権限が含まれていなければなりません。
- グローバル変数に対する指定された特権ごとに WITH GRANT OPTION
- グローバル変数が含まれるスキーマに対する ACCESSCTRL 権限
- ACCESSCTRL または SECADM 権限
構文
説明
- ALL PRIVILEGES
- 指定したグローバル変数に対してすべての特権を付与します。
- READ
- 指定したグローバル変数の値を読み取る特権を付与します。
- WRITE
- 指定したグローバル変数に値を割り当てる特権を付与します。
- ON VARIABLE 変数名
- 1 つ以上の特権が付与されるグローバル変数を指定します。 variable-name(暗黙的または明示的な修飾子を含む) は、 現行サーバーに存在するグローバル変数を指定するものでなければならず 、 モジュール変数ではありません (SQLSTATE 42704)。
- 今後
- 特権を誰に与えるかを指定します。
- ユーザー
- authorization-name がユーザーであることを指定します。
- GROUP
- authorization-name がグループであることを指定します。
- ROLE
- authorization-name が現行サーバーにおける既存のロールを識別することを指定します (SQLSTATE 42704)。
- 1 つ以上のユーザー、グループ、またはロールの許可 ID のリストを指定します。 この許可 ID のリストに、このステートメントを発行するユーザーの許可 ID を含めることはできません (SQLSTATE 42502)。
- PUBLIC
- 指定された特権をユーザー (許可 ID) の集合に付与します。
- WITH GRANT OPTION
- 指定した authorization-name に対し、特権を他のユーザーに与えることを許可します。 WITH GRANT OPTION 節を省略すると、指定した authorization-name は、他の何らかのソースからその権限を受け取らないかぎり、特権を他のユーザーに与えることはできません。
ルール
- 指定した 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 であると見なされます。
注
- グループに付与されている特権: グループに付与されている特権は、以下の許可チェックでは使用されません。
- パッケージ内の静的 DML ステートメント
- CREATE VIEW ステートメントの処理過程での基本表
- マテリアライズ照会表の CREATE TABLE ステートメントの処理過程での基本表
- SQL ルーチンの作成
- トリガーの作成
例
グローバル変数 MYSCHEMA.MYJOB_PRINTER に対する READ および WRITE 特権を、ユーザー ZUBIRI に付与します。
GRANT READ, WRITE ON VARIABLE MYSCHEMA.MYJOB_PRINTER TO ZUBIRI