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

Guide de convergence du SOC et de la sécurité du cloud
Les menaces actuelles ne se cantonnent plus à une seule couche de votre environnement. Ressources cloud, systèmes d’entreprise, applications… elles se déplacent facilement par latéralisation. Pour protéger l’ensemble de votre infrastructure cloud, votre entreprise a besoin d’une approche unifiée qui place les données, la Threat Intelligence pilotée par IA et l’automatisation au service d’une protection complète. Découvrez tous les enjeux de la fusion entre CloudSec et SOC pour assurer une protection plus robuste, plus efficace de votre cloud.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Renouvellement des certificats SSL tous les 45 jours : une mise en œuvre impossible sans automatisation ?
- Palo Alto Networks s’engage sur la cyber solidarité
- Recrudescence des cyberattaques pilotées par l’IA
- Quelles salles de réunion renforcent la dynamique et la confiance d’équipe ?
- L’intelligence collective dans l’ère numérique
