The SQL statements shown in the previous section are executed on
the current connection, that is, the most recently opened one. If
an application needs to manage multiple connections, then there are
two ways to handle this.
The first option is to explicitly choose a connection for each SQL
statement, for example
EXEC SQL AT connection-name SELECT ...;
This option is particularly suitable if the application needs to
use several connections in mixed order.
If your application uses multiple threads of execution, they cannot share a
connection concurrently. You must either explicitly control access to the connection
(using mutexes) or use a connection for each thread. If each thread uses its own connection,
you will need to use the AT clause to specify which connection the thread will use.
The second option is to execute a statement to switch the current
connection. That statement is:
EXEC SQL SET CONNECTION connection-name;
This option is particularly convenient if many statements are to be
executed on the same connection. It is not thread-aware.