> Tech > Diagnostics SQL : premier contact

Diagnostics SQL : premier contact

Tech - Par Kevin Forsythe - Publié le 24 juin 2010
email

 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.

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 la colonne. L ’instruction corrigée est donc

SELECT PARTNO, SUM(QTYORD)

FROM QGPL/QORDDTL

GROUP BY PARTNO

 

Téléchargez cette ressource

Guide inmac wstore pour l’équipement IT de l’entreprise

Guide inmac wstore pour l’équipement IT de l’entreprise

Découvrez toutes nos actualités à travers des interviews, avis d'experts et témoignages clients et ainsi, retrouvez les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et collaboration, Impression et capture et Infrastructure.

Tech - Par Kevin Forsythe - Publié le 24 juin 2010