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
Guide de Cyber-résilience pour Microsoft 365
La violation de votre tenant M365 va au-delà d’un simple incident de cybersécurité. Elle peut entraîner une interruption opérationnelle généralisée, des perturbations commerciales et une exposition de vos données sensibles. Découvrez les méthodes et technologies pour évaluer, comparer et renforcer votre posture de sécurité Microsoft 365.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Tendances 2026 : l’IA devra prouver sa rentabilité
- L’identité numérique : clé de voûte de la résilience et de la performance en 2026
- CES 2026 : l’IA physique et la robotique redéfinissent le futur
- Les 6 tournants qui redéfinissent l’IA en entreprise
Articles les + lus
CES 2026 : l’IA physique et la robotique redéfinissent le futur
Les 3 prédictions 2026 pour Java
Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
Face à l’urgence écologique, l’IT doit faire sa révolution
D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
À la une de la chaîne Tech
- CES 2026 : l’IA physique et la robotique redéfinissent le futur
- Les 3 prédictions 2026 pour Java
- Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
- Face à l’urgence écologique, l’IT doit faire sa révolution
- D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
