Documentação do PostgreSQL 8.0.0 | ||||
---|---|---|---|---|
Anterior | Início | Capítulo 29. ECPG - SQL incorporado à linguagem C | Fim | Próxima |
As declarações SQL mostradas na seção anterior são executadas na conexão corrente, ou seja, a conexão aberta mais recentemente. Se o aplicativo precisar gerenciar várias conexões, então existem duas maneiras de tratar este problema.
A primeira opção é escolher explicitamente a conexão para cada declaração SQL como, por exemplo:
EXEC SQL AT nome_da_conexão SELECT ...;
Esta opção é particularmente apropriada quando o aplicativo necessita utilizar várias conexões sem uma ordem definida.
Se o aplicativo utilizar vários fluxos de execução (threads), estes não poderão compartilhar simultaneamente uma conexão. Deve ser controlado explicitamente o acesso às conexões (utilizando mutexes [1]
[1] |
mutex — mutual exclusion — Um objeto de exclusão mútua que permite vários fluxos de execução sincronizarem o acesso a um recurso compartilhado. FOLDOC — Free On-line Dictionary of Computing (N. do T.) ), ou utilizada uma conexão para cada fluxo de execução. Se cada fluxo de execução utilizar sua própria conexão, será necessário usar a cláusula AT para especificar a conexão que o fluxo de execução vai utilizar. A segunda opção é executar uma declaração para alternar a conexão corrente. A declaração é:
EXEC SQL SET CONNECTION nome_da_conexão;
Esta opção é particularmente apropriada quando são executadas muitas declarações utilizando a mesma conexão, mas não considera os fluxos de execução. |