SQL 解説書

GRANT (スキーマ特権)

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

呼び出し

このステートメントは、アプリケーション・プログラムに組み込むか、 あるいは動的 SQL ステートメントの使用によって発行することができます。 このステートメントは、動的に準備可能な実行可能ステートメントです。 しかし、バインド・オプション DYNAMICRULES BIND を適用する場合、 ステートメントを動的に準備することはできません (SQLSTATE 42509)。

許可

このステートメントの許可 ID には、以下の特権が少なくとも 1 つ含まれている必要があります。

スキーマ名 SYSIBM、SYSCAT、SYSFUN および SYSSTAT に対する特権は、 ユーザーが与えることはできません。

他の GRANT ステートメントについては、GRANT (データベース権限)GRANT (索引特権)GRANT (パッケージ特権)GRANT (サーバー特権)GRANT (表スペース特権)、および GRANT (表、視点、またはニックネーム特権)を参照してください。

構文

            .-,---------------.
            V                 |
>>-GRANT--------+-ALTERIN--+--+--ON SCHEMA--schema-name--------->
                +-CREATEIN-+
                '-DROPIN---'
 
         .-,------------------------------------.
         V                                      |
>----TO----+-+-------+---authorization-name--+--+--------------->
           | +-USER--+                       |
           | '-GROUP-'                       |
           '-PUBLIC--------------------------'
 
>----+-------------------+-------------------------------------><
     '-WITH GRANT OPTION-'
 

説明

ALTERIN
スキーマ内のすべてのオブジェクトの更新、またはコメント付けのための特権を与えます。 明示的にスキーマを作成した所有者は、ALTERIN 特権が自動的に与えられます。

CREATEIN
スキーマにオブジェクトを作成する特権を与えます。 オブジェクトの作成に必要なその他の権限または特権 (CREATETAB など) は、これを指定しても必要です。 明示的に作成されたスキーマの所有者には、自動的に CREATEIN 特権が付与されます。 暗黙的に作成されたスキーマの CREATEIN 特権は、PUBLIC に自動的に付与されます。

DROPIN
スキーマ内のオブジェクトを除去する特権を与えます。 明示的に作成されたスキーマの所有者は、DROPIN 特権を自動的に与えられます。

ON SCHEMA schema-name
特権を与える対象となるスキーマを指定します。

TO
特権を誰に与えるかを指定します。

USER
authorization-name がユーザーであることを指定します。

GROUP
authorization-name がグループ名であることを指定します。

authorization-name,...
1 人または複数のユーザーまたはグループの許可 ID をリストします。

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

PUBLIC
すべてのユーザーに特権を付与します。

WITH GRANT OPTION
指定した authorization-name に対し、 特権を他のユーザーに与えることを許可します。

WITH GRANT OPTION を省略すると、 指定した authorization-name は以下のいずれかの場合にのみ、 特権を他のユーザーに与えることができます。

規則

例 1: USER2 にスキーマ CORPDATA にオブジェクトを作成する特権を与えます。

   GRANT CREATEIN ON SCHEMA CORPDATA TO USER2

例 2: BIGGUY にスキーマ CORPDATA のオブジェクトを作成および除去する特権を与えます。

   GRANT CREATEIN, DROPIN ON SCHEMA CORPDATA TO BIGGUY


脚注:

98
ステートメントの処理に使用されるパッケージが、 LANGLEVEL を SQL92E または MIA に設定してプリコンパイルされていた場合、 授与者が授与の対象に対して NO 特権を持っている場合以外は警告が戻されます (SQLSTATE 01007)。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]