Partager via


Embedded SQL

La première technique d’envoi d’instructions SQL au SGBD est sql incorporé. Étant donné que SQL n’utilise pas de variables et d’instructions de contrôle de flux, il est souvent utilisé comme sous-langage de base de données qui peut être ajouté à un programme écrit dans un langage de programmation conventionnel, tel que C ou COBOL. Il s’agit d’une idée centrale de SQL incorporé : placer des instructions SQL dans un programme écrit dans un langage de programmation hôte. Brièvement, les techniques suivantes permettent d’incorporer des instructions SQL dans un langage hôte :

  • Les instructions SQL incorporées sont traitées par un précompileur SQL spécial. Toutes les instructions SQL commencent par un introductionur et se terminent par un terminateur, qui indiquent l’instruction SQL pour le précompileur. L’introduction et le terminateur varient avec la langue hôte. Par exemple, l’introduiseur est « EXEC SQL » en C et « &SQL » dans le MUMPS, et le point-virgule est un point-virgule (;) en C et une parenthèse droite dans le MUMPS.

  • Les variables du programme d’application, appelées variables hôtes, peuvent être utilisées dans les instructions SQL incorporées où que les constantes soient autorisées. Elles peuvent être utilisées sur l’entrée pour adapter une instruction SQL à une situation particulière et à la sortie pour recevoir les résultats d’une requête.

  • Les requêtes qui retournent une seule ligne de données sont gérées avec une instruction singleton SELECT ; cette instruction spécifie à la fois la requête et les variables hôtes dans lesquelles retourner des données.

  • Les requêtes qui retournent plusieurs lignes de données sont gérées avec des curseurs. Un curseur effectue le suivi de la ligne actuelle dans un jeu de résultats. L’instruction DECLARE CURSOR définit la requête, l’instruction OPEN commence le traitement des requêtes, l’instruction FETCH récupère les lignes successives de données et l’instruction CLOSE met fin au traitement des requêtes.

  • Lorsqu’un curseur est ouvert, les instructions de mise à jour et de suppression positionnées peuvent être utilisées pour mettre à jour ou supprimer la ligne actuellement sélectionnée par le curseur.

Cette section contient les rubriques suivantes :