104
CHAPITRE 4. LANGAGE SQL
Déclaration des variables hôtes
Les variables hôtes sont des variables de langage C identifiées auprès du préprocesseur SQL. Ainsi,
pour être définies, les variables hôtes doivent être placées dans une section de déclaration, comme suit :
EXEC SQL BEGIN DECLARE SECTION;
declarations_des_variables_C
EXEC SQL END DECLARE SECTION;
Vous pouvez avoir autant de sections de déclaration dans un programme que vous le souhaitez.
Les variables hôtes peuvent remplacer les constantes dans n’importe quelle instruction SQL. Lorsque
le serveur de base de données exécute la commande, il utilise la valeur de la variable hôte.Notez toutefois
qu’une variable hôte ne peut pas remplacer un nom de table ou de colonne. Comme nous l’avons déjà
dit, dans une instruction SQL, le nom de la variable est précédé du signe deux-points (« : ») pour le
distinguer d’autres identificateurs admis dans l’instruction.
Les initialisations sur les variables sont admises dans une section de déclaration. Les sections de
déclarations sont traitées comme des variables C normales dans le fichier de sortie du précompilateur. Il
ne faut donc pas les redéfinir en dehors des sections de déclaration. Les variables qui n’ont pas pour but
d’être utilisées dans des commandes SQL peuvent être normalement déclarées en dehors des sections
de déclaration.
Les variables en langage C ont leur portée normale au sein du bloc dans lequel elles sont définies.
Toutefois, le préprocesseur SQL n’analyse pas le code en langage C. Par conséquent, il ne respecte pas
les blocs C. Aussi, pour le préprocesseur SQL, les variables hôtes sont globales : il n’est pas possible que
deux de ces variables portent le même nom.
Types des variables hôtes
Seul un nombre limité de types de données du langage C est supporté pour les variables hôtes. En
outre, certains types de variable hôte n’ont pas de type correspondant en langage C. Dans ce cas, des
macros prédéfinies peuvent être utilisées pour déclarer les variables hôtes. Par exemple, le type prédéfini
VARCHAR est