Avec SQL imbriqué, il faut respecter deux règles fondamentales pour réussir les diagnostics :
Ne jamais, jamais, utiliser la directive WHENEVER SQL.
Toujours vérifier la variable SqlState après chaque instruction SQL exécutable.
Aux yeux des nouveaux programmeurs SQL, la directive
SQL imbriqué

WHENEVER peut paraître comme une fonction SQL commode, mais c’est une source potentielle d’ennuis. L’effet de WHENEVER peut être modifié par le simple déplacement du texte de sous-routine autour de votre code source, même si vous ne changez pas le flux d’exécution du programme.
Pour être sûrs que votre programme traite les erreurs runtime SQL, le moyen le plus simple et le plus fiable est d’adopter une approche standard pour tester la variable SqlState (le nom est raccourci en SqlStt dans RPG/400 et en V5R2 et versions antérieures de ILE RPG). Le SQL runtime définit cette variable de cinq caractères après chaque instruction SQL (figure 5). Le SQL runtime définit aussi la variable SqlCode (ou SqlCod), mais SqlCode est une variable de réaction plus ancienne, non standard – et vous devriez plutôt utiliser SqlState.
Un état SQL de 00000 signifie que l’instruction a été exécutée correctement. Les deux premiers caractères indiquent l’état d’accomplissement général, de la façon suivante :
00 – réussite
01 – avertissement
02 – pas de données
03 à ZZ – erreur
Vous pouvez créer de diverses manières votre traitement d’erreurs SQL standard.
Outre SqlState, le SQL runtime définit d’autres variables dans la SQLCA (SQL Communication Area), qui est décrite dans l’annexe C du V5R3 DB2 Universal Database for iSeries SQL Reference (publib.boulder.icm.com/infocenter/iseries/v5r3/topic/db2/rbafzmst.pdf). Par exemple, SqlErrD(1) contient les quatre derniers caractères du message d’échappement CPF associé si une exception se produit. Vous pouvez utiliser l’un des débogueurs interactifs pour afficher et définir les points de contrôle sur le SqlCode et d’autres variables de feedback.
On le voit, SQL fournit des informations de diagnostic de plusieurs manières. Il n’est pas plus difficile de travailler avec cette information que d’utiliser les diagnostics émanant des interfaces base de données traditionnelles. Une bonne connaissance des principes de base des diagnostics SQL vous permet d’aborder l’utilisation de SQL en sachant que vous pourrez détecter et corriger les problèmes rapidement.
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
- Afficher les icônes cachées dans la barre de notification
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Les 6 étapes vers un diagnostic réussi
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Activer la mise en veille prolongée dans Windows 10
Les plus consultés sur iTPro.fr
- DSI en assurance : gardien du temple ou moteur de la transformation ?
- Ransomware : persistance des cyberattaques à l’échelle mondiale
- Cybersécurité : l’IA générative rebat les cartes du cybercrime
- Le World Cyber Ranking, 1er classement mondial de la cybersécurité des entreprises
- Comment le Quarter Plan permet d’aligner IT et Métiers pour délivrer
