SQL inserido
A primeira técnica para enviar instruções SQL ao DBMS é o SQL incorporado. Como o SQL não usa variáveis e instruções de controle de fluxo, ele é frequentemente usado como uma sublinguagem de banco de dados que pode ser adicionada a um programa escrito em uma linguagem de programação convencional, como C ou COBOL. Essa é uma ideia central do SQL incorporado: colocar instruções SQL em um programa escrito em uma linguagem de programação host. Resumidamente, as seguintes técnicas são usadas para incorporar instruções SQL em uma linguagem host:
As instruções SQL incorporadas são processadas por um pré-compilador SQL especial. Todas as instruções SQL começam com um introdutor e terminam com um terminador, ambos sinalizando a instrução SQL para o pré-compilador. O introdutor e o terminador variam de acordo com a linguagem host. Por exemplo, o introdutor é “EXEC SQL” em C e “&SQL(” em MUMPS, e o terminador é um ponto e vírgula (;) em C e um parêntese direito em MUMPS.
Variáveis do programa aplicativo, chamadas variáveis de host, podem ser usadas em instruções SQL incorporadas sempre que constantes são permitidas. Eles podem ser usados na entrada para adaptar uma instrução SQL a uma situação específica e na saída para receber os resultados de uma consulta.
Consultas que retornam uma única linha de dados são tratadas com uma instrução SELECT singleton; essa instrução especifica a consulta e as variáveis de host nas quais os dados serão retornados.
Consultas que retornam várias linhas de dados são tratadas com cursores. Um cursor rastreia a linha atual em um conjunto de resultados. A instrução DECLARE CURSOR define a consulta, a instrução OPEN inicia o processamento da consulta, a instrução FETCH recupera linhas sucessivas de dados e a instrução CLOSE encerra o processamento da consulta.
Enquanto um cursor está aberto, as instruções update e delete posicionadas podem ser usadas para atualizar ou excluir a linha no momento selecionada pelo cursor.
Esta seção contém os tópicos a seguir.