Une condition peut survenir de deux manières : • Le SqlState runtime crée la condition pour une instruction SQL (par exemple, une table n'est pas trouvée quand une instruction Update s'exécute). Votre routine crée intentionnellement la condition en exécutant une instruction Signal ou Resignal. Dans le prochain article, j'expliquerai plus
Instructions Signal et Resignal
en détail quand il faut utiliser
Signal et Resignal. Pour l’instant, je me
cantonne à quelques règles de base
concernant ces instructions.
Une instruction Signal ou Resignal
provoque une condition spécifique
c’est-à -dire, un SqlState particulier).
Signal ne doit être exécuté qu’à l’extérieur
d’un handler. (Il faut utiliser
Resignal à l’intérieur d’un handler
parce que cette façon de faire préserve
une « pile » d’informations de diagnostic
concernant les conditions.) L’effet
d’une instruction Signal est essentiellement
le même que si la condition spécifique
s’était manifestée sur tout autre
type d’instruction. Ainsi, l’instruction
Signal SqlState ‘42704’
met SqlState à « 42704 » (table non
trouvée), tout comme le ferait l’instruction
suivante si la table Customxr
n’existait pas :
Update Customxr
Set Name = ‘Ajax’
Where CustId = 123456;
Bien que l’instruction Signal vous
permette d’indiquer un littéral pour le
SqlState (comme on le voit dans
l’exemple précédent), je vous conseille
de toujours utiliser un nom de condition
et d’inclure la clause Set de l’instruction
Signal avec un mnémonique
que vous aurez déclaré pour un texte
de message associé, comme en figure
4. A noter que Message_Text est un
mot-clé SPL et que la chaîne que vous
attribuez à Message_Text est placée
dans le champ SQLERRMC de la structure
SQLCA (SQL Communications
Area), laquelle peut être extraite par un
appelant de routine. Cette chaîne peut contenir un maximum de 70 caractères.
Une instruction Resignal doit toujours
être utilisée uniquement dans un
handler. (Bien que l’actuelle release de
SQL/400 vous permette d’exécuter un
Resignal hors d’un handler, cela pourrait
changer dans les futures releases.)
Je vous conseille d’utiliser Resignal
pour créer uniquement des conditions
exception. (Utiliser Resignal pour
créer des avertissements (warnings)
internes à une routine est plus complexe
et moins fonctionnel que de se limiter
à utiliser des indicateurs ou à
créer des exceptions pour contrôler le
débit interne. De plus, une instruction
Resignal dans un handler ne peut pas
servir à définir un SqlState warning ou
not found pour un appelant de routine.
Il n’y a donc pas de bonne raison
d’utiliser Resignal pour créer une
condition warning.)
Une instruction Resignal dans un
handler peut soit indiquer une nouvelle
condition spécifique à créer :
Resignal SqlStateNoSalesCondition
Set Message_Text = SqlStateNoSalesText;
soit resignaler simplement la même
condition qui a causé l’invocation du
handler :
Resignal;
Les deux formes de Resignal sont
utiles dans diverses situations de traitement
d’erreurs.
Téléchargez cette ressource
Créer des agents dans Microsoft 365 Copilot
Insight vous guide dans l’utilisation de la nouvelle expérience de création d’agents dans Microsoft Copilot Studio, disponible dans Copilot Chat. Découvrez les étapes clés pour concevoir, configurer et déployer ces nouveaux agents et injecter la puissance de l’IA directement dans le flux de travail.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Souveraineté numérique : les décideurs publics veulent prioriser les modèles d’IA souverains
- Dans l’œil du cyber-cyclone : l’excès d’optimisme constitue le risque principal pour la résilience des données
- Les 3 prédictions 2026 pour Java
- Infrastructures IT : 5 leviers concrets pour éviter les impasses technologiques
Articles les + lus
CES 2026 : l’IA physique et la robotique redéfinissent le futur
Les 3 prédictions 2026 pour Java
Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
Face à l’urgence écologique, l’IT doit faire sa révolution
D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
À la une de la chaîne Tech
- CES 2026 : l’IA physique et la robotique redéfinissent le futur
- Les 3 prédictions 2026 pour Java
- Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
- Face à l’urgence écologique, l’IT doit faire sa révolution
- D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
