SET CONNECTION ステートメントは、 接続の状態を休止状態から現行状態に変更して、 指定された位置を現行サーバーにします。 このステートメントは、トランザクションの制御下にはありません。
呼び出し
対話式 SQL 機能には外見上対話式の実行に見えるインターフェースが用意されている場合がありますが、 このステートメントはアプリケーション・プログラムに組み込むことだけが可能です。 これは、動的に準備できない実行可能ステートメントです。
許可
必要ありません。
構文
>>-SET CONNECTION---+-server-name---+-------------------------->< '-host-variable-'
説明
host-variable (ホスト変数) を指定する場合、 それは、長さ属性が 8 以下の文字ストリング変数でなければならず、標識変数を含めることはできません。 その host-variable に入っている server-name は、 左寄せする必要があり、引用符で区切ることはできません。
server-name は、 アプリケーション・サーバーを指定するデータベース別名である点に注意してください。 この名前は、アプリケーション・リクエスターの ローカル・ディレクトリーにリストされている必要があります。
server-name または host-variable は、 アプリケーション・プロセスの既存の接続を指定していなければなりません。 既存の接続を指定していない場合には、エラー (SQLSTATE 08003) になります。
現行接続に対する SET CONNECTION の場合、 アプリケーション・プロセスのすべての接続の状態は変更されません。
SET CONNECTION ステートメントが正常に実行された場合、
SET CONNECTION ステートメントが失敗した場合、
注
例
IBMSTHDB で SQL ステートメントを実行し、 次に IBMTOKDB で SQL ステートメントを実行し、 その後、IBMSTHDB で SQL ステートメントを実行します。
EXEC SQL CONNECT TO IBMSTHDB; /* Execute statements referencing objects at IBMSTHDB */
EXEC SQL CONNECT TO IBMTOKDB; /* Execute statements referencing objects at IBMTOKDB */
EXEC SQL SET CONNECTION IBMSTHDB; /* Execute statements referencing objects at IBMSTHDB */
最初の CONNECT ステートメントでは IBMSTHDB の接続が作成され、 2 番目の CONNECT ステートメントでその接続は休止状態になり、 SET CONNECTION ステートメントによってその接続は現行状態に戻ります。