Pour chaque instruction - à l'exception de Get Diagnostics - exécutée dans une routine SPL, le SQL runtime définit SqlState. Pour une bonne fin, SqlState est mis à « 00000 ». D'autres valeurs indiquent un avertissement, non trouvé, ou exception, comme mentionné cidessus. Il est très important de comprendre que
Etats de SQL
SqlState est défini pour
des instructions de contrôle SPL,
comme Set, If et Return, ainsi que pour
des instructions SQL « normales »,
comme Fetch et Update. Quand vous
réfléchissez à la manière de traiter les
erreurs SPL, ne vous laissez pas gêner
par ce comportement. Par exemple,
même le fait de tester SqlState avec
une instruction If telle que redéfinira SqlState avant que l’attribution
conditionnelle ne s’exécute. Dans
cet exemple, PrvSqlState sera toujours
mis à « 00000 » parce que la condition
de recherche de l’instruction If (SqlState
<> ‘00000’) s’exécute avec succès
avant l’instruction Set.
Seule l’instruction Get Diagnostics
est documentée comme ne définissant
pas SqlState. (Dans la release SQL actuelle,
il y a peu de cas où SqlState n’est
pas redéfini. par exemple, des instructions
comme « If X Is Null » ne définissent
pas SqlState. Cependant, je déconseille de s’en remettre au comportement
des cas spéciaux, parce que
les futures releases pourraient bien se
comporter différemment.)
Le traitement d’erreurs SPL conforme
aux « meilleures pratiques »
demande de
• examiner SqlState après chaque instruction
pour détecter une exécution
ou un comportement anormal
• définir SqlState quand vous revenez
de la routine pour indiquer l’état
d’exécution à l’appelant
Ces deux pratiques sont à la base
du reste de ma discussion dans cet article
et le suivant.
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
- Secteur public : l’IA accélère la modernisation des infrastructures
- De l’inventaire à l’action : l’Asset Management au service d’un Numérique plus responsable
- IA et bureaucratie : la complexité qui grève les projets
- IA dans les services financiers : priorité stratégique, mais passage à l’échelle sous tension
Articles les + lus
Model Context Protocol : le contexte, grand oublié du débat
Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
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 une de la chaîne Tech
- Model Context Protocol : le contexte, grand oublié du débat
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
- 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
