Cette documentation est assez incomplète. Mais du fait de la
standardisation de cette interface, des informations complémentaires
sont disponibles au travers de nombreuses ressources traitant du SQL.
31.1. Concept
Un programme SQL embarqué
consiste en du code écrit dans un langage de programmation
ordinaire, le C dans le cas
présent, mélangé à des commandes SQL incluses dans des sections
spécialement marquées. Pour construire le programme, le code source
est d'abord passé au préprocesseur SQL embarqué qui le convertit en un programme
C ordinaire. Il peut alors être
traité par un compilateur C.
Le SQL embarqué a des avantages
par rapport aux autres méthodes de gestion de commandes
SQL dans du code C.
Premièrement, il gère le passage laborieux des informations de et
vers les variables du programme C. Deuxièmement, le code SQL du programme est
vérifié syntaxiquement au moment de la construction. Troisièmement,
le SQL embarqué en C est
spécifié dans le standard SQL et
supporté par de nombreux systèmes de bases de données
SQL. L'implantation PostgreSQL™ est conçue pour correspondre
au mieux à ce standard. Il est de ce fait assez facile de porter
les programmes SQL embarqués
écrits pour d'autres bases de données SQL vers PostgreSQL™.
Comme indiqué précédemment, les programmes écrits pour l'interface
SQL embarqué sont des programmes
C normaux contenant un code spécial inséré pour réaliser les
actions en relation avec la base de données. Ce code spécial a
toujours la forme
EXEC SQL ...;
Ces instructions prennent syntaxiquement la place d'une instruction
C. Suivant l'instruction particulière, elles peuvent apparaître
dans le contexte global ou à l'intérieur d'une fonction. Les
instructions SQL embarquées
suivent les règles de sensibilité à la casse d'un code
SQL normal, et non pas ceux du
C.
Les sections suivantes expliquent toutes les instructions SQL
embarquées.