ALTER USER MAPPING ステートメント

ALTER USER MAPPING ステートメントは、指定したフェデレーテッド・サーバーの許可 ID について、 データ・ソースで使用する許可 ID またはパスワードを変更するときに使います。

呼び出し

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

許可

ステートメントの許可 ID がデータ・ソースへマップされる許可名とは異なる場合、そのステートメントの許可 ID が持つ特権には DBADM 権限が含まれている必要があります。 許可 ID と許可名が一致する場合は、権限や特権は必要ありません。

パブリック・ユーザー・マッピングを変更する場合は、このステートメントの許可 ID が持つ特権には、DBADM 権限が含まれている必要があります。

構文

構文図を読む構文図をスキップするALTER USER MAPPING FORauthorization-nameUSERPUBLICSERVERserver-name OPTIONS (,ADDSETum-option-namestring-constantDROPum-option-name)

説明

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 ステートメント。
  • パブリック・ユーザー・マッピングと非パブリック・ユーザー・マッピングが同一フェデレーテッド・サーバーに共存することはできません。 つまり、パブリック・ユーザー・マッピングを作成した場合は、その同じフェデレーテッド・サーバーに非パブリック・ユーザー・マッピングを作成できないことになります。 またその逆に、非パブリック・ユーザー・マッピングを作成した場合は、その同じフェデレーテッド・サーバーにパブリック・ユーザー・マッピングを作成できないことになります。

  1. 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'  )