29.5. 选取一个连接

前面小节显示的 SQL 语句都是在当前连接执行,也就是说,最近打开的那个。 如果一个应用需要管理多个连接,那么有两个办法处理这个问题。

第一个选项是为每个 SQL 语句明确地选择一个连接,比如

EXEC SQL AT connection-name SELECT ...;

这个选项特别适用于需要以混和地顺序使用多个连接地应用。

如果你的应用使用多线程执行,那么他们不能并发地共享一个连接。 你必须要么明确地控制对连接地访问(使用互斥)要么给每个线程使用一个连接。 如果每个线程使用自己的连接,那么你就需要使用 AT 子句来声明该线程使用的是那个连接。

第二个选项是执行一个语句来切换当前连接。这个语句是:

EXEC SQL SET CONNECTION connection-name;

这个选项在多条语句都需要在同一个连接上执行的时候特别方便。它是线程不安全的。