この形式の GRANT ステートメントは、 データベース全体に適用される権限 (データベース内の 特定のオブジェクトに適用される特権ではなく) を付与します。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込むか、 あるいは動的 SQL ステートメントの使用によって発行することができます。 このステートメントは、動的に準備可能な実行可能ステートメントです。 しかし、バインド・オプション DYNAMICRULES BIND を適用する場合、 ステートメントを動的に準備することはできません (SQLSTATE 42509)。
許可
DBADM 権限を付与するには、SYSADM 権限が必要です。 その他の権限を付与するには、DBADM 権限、または SYSADM 権限のいずれかが必要です。
他の GRANT ステートメントについての詳細は、 GRANT (索引特権)、GRANT (パッケージ特権)、GRANT (スキーマ特権)、 GRANT (サーバー特権)、および GRANT (表、視点、またはニックネーム特権)を参照してください。
構文
.-,------------------------. V | >>-GRANT--------+-BINDADD-----------+--+--ON DATABASE-----------> +-CONNECT-----------+ +-CREATETAB---------+ +-CREATE_NOT_FENCED-+ +-IMPLICIT_SCHEMA---+ +-DBADM-------------+ '-LOAD--------------' .-,------------------------------------. V | >----TO----+-+-------+---authorization-name--+--+-------------->< | +-USER--+ | | '-GROUP-' | '-PUBLIC--------------------------'
説明
視点作成に必要な明示的な権限は特にありません。 視点の作成に使用するステートメントの許可 ID に各視点の基礎表に対する CONTROL 特権または SELECT 特権のいずれかが与えられている場合には、 いつでも視点を作成できます。
関数が非分離として登録された場合は、 それ以降に CREATE_NOT_FENCED が取り消されたとしてもその方式での実行が続けられます。
BINDADD、CONNECT、CREATETAB、CREATE_NOT_FENCED および IMPLICIT_SCHEMA は、 DBADM 権限を与えられている authorization-name に自動的に与えられます。
この許可 ID のリストに、 このステートメントを出すユーザーの許可 ID を含めることはできません (SQLSTATE 42502)。
規則
例
例 1: ユーザー WINKEN、BLINKEN、および NOD に、データベースに接続する権限を与えます。
GRANT CONNECT ON DATABASE TO USER WINKEN, USER BLINKEN, USER NOD
例 2: データベースに対する BINDADD 権限を、D024 という名前のグループに与えます。 システムには、D024 と呼ばれるグループとユーザーの両方が存在しています。
GRANT BINDADD ON DATABASE TO GROUP D024
GROUP キーワードの指定は必須です。 この指定がない場合、D024 という名前のユーザーとグループが両方とも存在しているのでエラーになります。 D024 グループのメンバーは、いずれもデータベースのパッケージをバインドできるようになります。 しかし、D024 というユーザーはそれは許されません (ただし、 このユーザーがグループ D024 のメンバーでもある場合、 または以前に BINDADD 権限を与えられていた場合、 または BINDADD 権限がユーザー D024 がメンバーとして属している別のグループに与えられていた場合を除きます)。