前節で示したSQL文は現在の接続、つまり、最も最近に開いた接続上で実行されます。 複数の接続を管理する必要があるアプリケーションでは、これを処理する2つの方法があります。
1つ目の選択肢は、各SQL文で明示的に接続を選択することです。 以下に例を示します。
EXEC SQL AT connection-name SELECT ...;
アプリケーションが複数の接続を不特定な順番で使用する必要がある場合、この選択肢は特に適しています。
アプリケーションの実行に複数スレッドを使用する場合、スレッド間で接続を同時に共有できません。 接続へのアクセスを(mutexesを使用して)明示的に制御するか、または各スレッド用の接続を使用するかを行わなければなりません。 各スレッドが個別の接続を使用する場合、AT句を使用してそのスレッドが使用する接続を指定する必要があります。
2番目の選択肢は、現在の接続を切り替える文を実行することです。 以下の文です。
EXEC SQL SET CONNECTION connection-name;
多くの文を同一接続に対して使用する場合、この選択肢は特に便利です。 これはスレッドを考慮していません。