Les programmeurs rompus aux langages évolués (HLL), tels que RPG et Cobol, ont parfois du mal à diagnostiquer des erreurs en SQL. Cette difficulté est due d’une part à la syntaxe différente de SQL et, d’autre part, à sa « philosophie » elle aussi différente, qui exige que le programmeur spécifie ce qui doit être fait et laisse à l’optimiseur de requêtes SQL le soin de décider comment le faire. C’est pourquoi, dans cet article, je fournis aux programmeurs débutant en SQL quelques principes et conseils de base pour aborder ce genre de problèmes.
Diagnostics SQL : premier contact
Commençons par l’un des moyens les plus simples d’exécuter une instruction SQL : en utilisant ISQL (Interactive SQL). On obtient ainsi une interface écran vert pour exécuter les instructions SQL. Supposons que vous entriez l’instruction suivante :
SELECT PARTNO, SUM(QTYORD)
FROM QGPL/QORDDTL
ISQL affiche une erreur (figure 1).
Le texte du message « Column PARTNO or expression specified in SELECT list not valid » n’est pas suffisamment explicite pour que l’on comprenne bien le problème. Le premier truc de diagnostic est bien connu de tout programmeur OS/400 qui a utilisé l’affichage Command Entry : placer le curseur sur le message d’erreur et appuyer sur la touche d’aide (ou F1) pour afficher le texte d’aide de second niveau (figure 2).
Le texte d’aide de second niveau est plus précis sur ce qui peut avoir causé l’erreur. Dans cet exemple, on nous rappelle qu’une instruction SELECT dont le jeu de résultats contient à la fois un nom de colonne simple (comme PARTNO) et une fonction de colonne (comme SUM(QTYORD)) doit avoir une clause GROUP BY qui référence
SELECT PARTNO, SUM(QTYORD)
FROM QGPL/QORDDTL
GROUP BY PARTNO
Téléchargez cette ressource
Plan de sécurité Microsoft 365
Les attaquants savent comment prendre le contrôle de votre tenant Microsoft 365, et vous, savez-vous comment le reprendre en main ?
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Comment apprivoiser l’imprévu avec le Stockage-as-a-service ?
- IA en entreprise : adoption massive, mais la confiance reste le principal frein
- Diriger à l’ère du cloud global : trouver l’équilibre entre innovation et contrôle
- Rançongiciels et IA : les attaques gagnent en efficacité en ciblant l’humain
Articles les + lus
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
À la une de la chaîne Tech
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
