ALTER USER MAPPING ステートメント
ALTER USER MAPPING ステートメントは、指定したフェデレーテッド・サーバーの許可 ID について、 データ・ソースで使用する許可 ID またはパスワードを変更するときに使います。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込んだり、動的 SQL ステートメントを使用して発行したりすることができます。 これは、DYNAMICRULES の実行動作がパッケージに効力を持つ場合にのみ、動的に準備できる実行可能ステートメントです (SQLSTATE 42509)。
許可
ステートメントの許可 ID がデータ・ソースへマップされる許可名とは異なる場合、そのステートメントの許可 ID が持つ特権には DBADM 権限が含まれている必要があります。 許可 ID と許可名が一致する場合は、権限や特権は必要ありません。
パブリック・ユーザー・マッピングを変更する場合は、このステートメントの許可 ID が持つ特権には、DBADM 権限が含まれている必要があります。
構文
説明
- authorization-name
- ユーザーまたはアプリケーションがフェデレーテッド・データベースへ接続するときの、 許可名を指定します。
- USER
- 特殊レジスター USER の値。 USER を指定すると、ALTER USER MAPPING ステートメントの許可 ID は、 REMOTE_AUTHID ユーザー・オプションで指定したデータ・ソースの許可 ID にマップされます。
- PUBLIC
- ローカル・フェデレーテッド・データベース用の有効な許可 ID を、REMOTE_AUTHID ユーザー・オプションで指定したデータ・ソース用の許可 ID にマップすることを指定します。
- SERVER server-name
- ローカル許可 ID へマップするリモート許可 ID を使ってアクセスできるデータ・ソースを指定します。 このローカル許可 ID は、authorization-name で示されるか、 または USER によって参照されるものです。
- OPTIONS
- 変更するマッピングに関して、使用可能にする、リセットする、
またはドロップするユーザー・オプションを指定します。
- ADD
- 新規ユーザー・オプションを使用可能にします。
- SET
- ユーザー・オプションの設定を変更します。
- um-option-name
- 追加またはリセットするユーザー・マッピング・オプション。 指定可能なオプションは、ラッパーの作成対象オブジェクトのデータ・ソースによって異なります。 データ・ソースとそれぞれに当てはまるユーザー・マッピング・オプションのリストについては、データ・ソース・オプションを参照してください。
- string-constant
- 単一引用符で囲まれた文字ストリング定数として設定するユーザー・マッピング・オプション。
- DROP um-option-name
- ユーザー・マッピング・オプションをドロップします。
注
- ユーザー・オプションは、 同じ ALTER USER ステートメントに複数回指定することはできません (SQLSTATE 42853)。 ユーザー・オプションを使用可能にする、リセットする、あるいはドロップする場合、 使用中の他のユーザー・オプションには影響はありません。
- 所定の作業単位 (UOW) 内の ALTER USER MAPPING ステートメントは、
UOW に以下の項目のいずれかが既に含まれている場合には処理できません (SQLSTATE 55007)。
- マッピングに含めるソース・データの表またはビューのニックネームを参照する SELECT ステートメント。
- マッピングに含めるソース・データの表またはビューのニックネーム上のオープン・カーソル。
- マッピングに含めるソース・データの表またはビューのニックネームに対して発行された、INSERT、 DELETE、または UPDATE ステートメント。
- パブリック・ユーザー・マッピングと非パブリック・ユーザー・マッピングが同一フェデレーテッド・サーバーに共存することはできません。 つまり、パブリック・ユーザー・マッピングを作成した場合は、その同じフェデレーテッド・サーバーに非パブリック・ユーザー・マッピングを作成できないことになります。 またその逆に、非パブリック・ユーザー・マッピングを作成した場合は、その同じフェデレーテッド・サーバーにパブリック・ユーザー・マッピングを作成できないことになります。
例
- Jim はローカル・データベースを使い、ORACLE1 という Oracle データ・ソースに接続します。そして許可 ID KLEEWEIN を使ってローカル・データベースにアクセスします。
KLEEWEIN は、CORONA (ORACLE1 へアクセスするときの許可 ID) へマップします。
Jim は新しい ID である JIMK を使用して ORACLE1 へのアクセスを開始します。
ここで、KLEEWEIN は JIMK へマップすることが必要になります。
ALTER USER MAPPING FOR KLEEWEIN SERVER ORACLE1 OPTIONS ( SET REMOTE_AUTHID 'JIMK' )
