Capítulo 29. ECPG - SQL incorporado à linguagem C

Sumário
29.1. O conceito
29.2. Conexão com o servidor de banco de dados
29.3. Fechamento de conexão
29.4. Execução de comandos SQL
29.5. Escolha da conexão
29.6. Utilização de variáveis hospedeiras
29.6.1. Visão geral
29.6.2. Seções de declaração
29.6.3. Declarações SELECT INTO e FETCH INTO
29.6.4. Indicadores
29.7. SQL dinâmico
29.8. Utilização das áreas descritoras de SQL
29.9. Tratamento de erro
29.9.1. Definição de chamada
29.9.2. sqlca
29.9.3. SQLSTATE versus SQLCODE
29.10. Inclusão de arquivos
29.11. Processamento dos programas com SQL incorporado
29.12. Funções da biblioteca
29.13. Internamente
29.14. Exemplos

Este capítulo descreve o pacote de SQL incorporado para o PostgreSQL. Foi escrito por Linus Tolke ( ) e Michael Meskes ( ). Originalmente escrito para trabalhar com a linguagem C, também trabalha com a linguagem C++, mas ainda não reconhece todas as construções de C++.

Esta documentação é bastante incompleta, mas uma vez que a interface é padronizada, podem ser encontradas informações adicionais em várias fontes sobre SQL.

29.1. O conceito

Um programa com SQL incorporado consiste de código escrito em uma linguagem de programação comum, neste caso a linguagem C, misturado com comandos SQL em seções com marcas especiais. Para construir o programa, primeiro o código fonte é passado através de um pré-processador de SQL incorporado, que converte este código em um programa C comum. Após isto ser feito, o código pode ser processado pelo compilador C.

O SQL incorporado possui vantagens sobre outros métodos que tratam comandos SQL a partir do código C: Em primeiro lugar, toma conta da entediante passagem de informação de e para as variáveis do programa escrito em C; Em segundo lugar, o código SQL incorporado ao programa é verificado quanto à correção sintática em tempo de construção; Em terceiro lugar, o SQL incorporado à linguagem C é especificado pelo padrão SQL, e suportado por muitos outros sistemas gerenciadores de banco de dados SQL.

A implementação do PostgreSQL foi projetada para corresponder ao padrão tanto quanto o possível. Geralmente é possível portar para o PostgreSQL, com relativa facilidade, programas com SQL incorporado escritos para outros gerenciadores de banco de dados SQL.

Como já foi dito, os programas escritos para a interface de SQL incorporado são programas C normais, com código especial inserido para realizar ações relacionadas com o banco de dados. Este código especial sempre possui a forma:

EXEC SQL ...;

Sintaticamente estas declarações tomam o lugar da declaração C. Dependendo da declaração em particular, pode aparecer no nível global ou dentro de uma função. As declarações SQL incorporadas seguem as regras de tratamento de letras maiúsculas e minúsculas do código SQL normal, e não as regras da linguagem C.

As seções que se seguem explicam todas as declarações SQL incorporadas.

SourceForge.net Logo CSS válido!