Avec SQL imbriqué, vous pouvez inclure des instructions SQL dans un programme écrit dans un autre langage – généralement RPG. En ajoutant stratégiquement SQL à vos programmes RPG (ou Cobol ou CL), vous pouvez améliorer la performance, simplifier le code, voire accomplir des prouesses dont SQL ou RPG sont incapables isolément.
Pour commencer à utiliser SQL imbriqué, le bagage à posséder est simple : une bonne connaissance de la programmation RPG et une bonne maîtrise de la syntaxe SQL. Il vous faudra aussi le DB2 Query Manager and SQL Development Kit for iSeries LPP (5722ST1), désigné généralement sous le nom de kit de développement SQL. Ce LPP est souvent déjà installé dans beaucoup de sites de développement System i. Et il est inclus dans certaines éditions de i5/OS sans frais supplémentaires. Ces conditions étant remplies, vous êtes prêts à examiner comment SQL imbriqué s’intègre au RPG.
Contenu complémentaire
Article : Guide pour traiter les erreurs de SQL imbriqué |
Comme le montre la figure 1, une instruction Exec SQL doit précéder chaque instruction SQL dans un programme RPG. A partir de la V5R4, le SQL imbriqué peut être entièrement en format libre. Quand vous utilisez la syntaxe en format libre, terminez chaque instruction SQL par un point-virgule. Cependant, si vous utilisez une version d’i5/OS antérieure, vous devez encadrer chaque instruction SQL par Exec SQL et End-Exec. Ces instructions doivent inclure une barre oblique (/) en colonne 7, et chaque ligne entre Exec SQL et End-Exec doit inclure un signe plus (+) en colonne 7.
Le SQL imbriqué utilise des variables hôtes pour échanger des informations entre les instructions SQL et votre code RPG. Vous pouvez accéder à n’importe quel champ d’une variable hôte en préfixant simplement le nom du champ par un signe deux-points (:). Par exemple, vous pouvez utiliser des variables hôtes pour définir des valeurs de comparaison pour des prédicats SQL fondés sur la saisie de l’utilisateur (figure 2) et pour accéder aux données extraites par une instruction SQL.
Comme les variables hôtes donnent à vos instructions SQL imbriquées l’accès à tout champ accessible à RPG, vous pouvez profiter de techniques de codage comme des structures de données définies en externe, pour réutiliser des définitions de variables, plutôt que de créer des variables hôtes qui sont uniques à chaque programme. Une structure de données qui contient des sous-champs et est utilisée comme variable hôte est appelée structure hôte (host structure). (Pour plus d’informations sur les structures hôtes, voir le manuel SQL imbriqué, dont le titre officiel est DB2 Universal Database for iSeries Embedded SQL programming.)
Outre les instructions SQL que vous connaissez peut-être déjà, SQL imbriqué peut inclure des instructions de contrôle (control statements) SQL, aussi appelées SPL (SQL Procedure Language). Vous pouvez utiliser les instructions de contrôle pour traiter des tâches de programmation (par opposition à des tâches de définitions de données ou d’extraction de données) comme définir des variables et comparer deux valeurs (une instruction if).
Sur le System i, les instructions de contrôle sont valides dans les procédures stockées SQL, les déclencheurs SQL et les fonctions définies par l’utilisateur SQL, ainsi que SQL imbriqué. Après avoir défini quelques-uns des termes et concepts que vous rencontrerez, voyons comment mettre SQL imbriqué à l’oeuvre.
Téléchargez cette ressource
Comment lutter contre le Phishing ?
Dans un environnement cyber en constante mutation, le phishing évolue vers des attaques toujours plus sophistiquées combinant IA, automatisation et industrialisation. Une réalité complexe qui exige des mesures de sécurité avancées et repensées au-delà de l’authentification multifacteur. Découvrez les réponses technologiques préconisées par les experts Eviden et les perspectives associées à leur mise en œuvre.