Songez à toutes les fois que vous avez entendu des propos tels que : « Trouver tous les clients de Californie, Nevada, Arizona, ou New Mexico et changer leur numéro de territoire de ventes en 27 ». Que ce soit une requête ponctuelle ou une exigence permanente, l’écriture d’une solution
Mettez à jour sept (ou soixante dix) lignes à la fois
en RPG peut être encombrante et le code résultant pourrait bien être inefficace.
En revanche, SQL peut facilement mettre à jour (ou supprimer ou insérer) de multiples lignes avec une seule instruction. Si de telles requêtes reviennent fréquemment, plutôt que d’écrire et d’exécuter une instruction SQL ad hoc, vous pourriez intégrer une instruction dans un programme RPG et laisser à l’utilisateur le soin d’indiquer l’état et le nouveau territoire. Par le même procédé, vous pouvez supprimer toutes les lignes correspondant à certains critères : il suffit de remplacer l’instruction Update par Delete.
Par conséquent, chaque fois qu’il faudra mettre à jour ou supprimer de multiples lignes d’une table, songez à utiliser le SQL imbriqué. Comparons la technique de la figure 5 avec une mise à jour à l’aide d’un curseur, comme dans la figure 4. Le code de la figure 4 ne mettra à jour qu’une ligne à chaque exécution de l’instruction Update, tandis que l’instruction Delete de la figure 5 mettra à jour plusieurs lignes chaque fois qu’elle s’exécutera. Si vous voulez mettre à jour toutes les lignes répondant à un critère particulier, de la même manière (par exemple changer le territoire en 27), utilisez une instruction Update sans extraire d’abord un jeu de résultats (figure 5).
En revanche, si vous voulez sélectionner plusieurs lignes puis ne mettre à jour que certaines d’entre elles (en permettant par exemple à l’utilisateur de sélectionner dans une liste), vous extrairez le jeu de résultats puis utiliserez le curseur pour mettre à jour sélectivement des lignes dans la base de données sous-jacente (figure 4). Le choix d’utiliser le SQL imbriqué pour insérer des données est un peu différent que d’utiliser SQL pour les mises à jour et suppressions.
En effet, par défaut, un SQL Insert ajoute une seule ligne à la base de données, et l’insertion d’une ligne unique est une tâche dont RPG s’acquitte au moins aussi bien que SQL. Cependant il est possible d’écrire des instructions Insert qui ajoutent de multiples lignes à une table (ou à des tables) en copiant certaines données d’une autre table. S’il faut insérer de multiples lignes, il vaut mieux utiliser le SQL imbriqué que d’ajouter chaque ligne dans une boucle de votre code RPG.
Téléchargez cette ressource
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Analyse Patch Tuesday Mars 2026
- Une nouvelle ère de la modernisation du mainframe
- Akamai Technologies déploie sa stratégie de protection en ligne
- Baromètre channel IT : fin du cuivre, essor de UCaaS et premiers pas vers l’IA
Articles les + lus
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
Moderniser le développement logiciel : de la fragmentation à l’intégration
Analyse Patch Tuesday Mars 2026
Une nouvelle ère de la modernisation du mainframe
Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
À la une de la chaîne Tech
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
- Moderniser le développement logiciel : de la fragmentation à l’intégration
- Analyse Patch Tuesday Mars 2026
- Une nouvelle ère de la modernisation du mainframe
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
