@@FETCH_STATUS |
Récupérer l'état |
| SQL Server |
Microsoft SQL Server |
Syntaxe
Description
Cette fonction permet de retourner l'état de la dernière instruction FETCH de curseur émise contre tout curseur actuellement ouvert par la connexion.
Remarques
- Retourne l'état de la dernière opération de récupération de curseur : La fonction @@FETCH_STATUS retourne un entier indiquant l'état de la
dernière récupération de ligne effectuée par un curseur. Les valeurs possibles sont :
| Valeur |
Description |
| 0 |
La récupération a réussi et des données ont été extraites. |
| -1 |
Aucune ligne n'a été trouvée (fin de curseur). |
| -2 |
Une erreur est survenue lors de la récupération. |
- Utilisation courante dans les boucles de curseur pour le contrôle de l'exécution : Lors de l'utilisation d'un curseur, @@FETCH_STATUS permet
de vérifier si le curseur a bien récupéré une ligne avant de continuer l'exécution d'une boucle. Cela garantit que les données sont disponibles et empêche des erreurs
potentielles dans le traitement des données récupérées.
- Facilite la gestion des erreurs dans les opérations sur curseur : La fonction permet de capturer les erreurs liées à la récupération des données
d'un curseur, comme la tentative de récupération de données n'étant plus présentes dans le jeu de résultats. En utilisant @@FETCH_STATUS, les erreurs peuvent être
interceptées et gérées de manière appropriée (par exemple, sortie de boucle ou message d'erreur).
- Doit être appelée immédiatement après une opération de FETCH : Pour obtenir des résultats précis, il est important de vérifier @@FETCH_STATUS immédiatement
après chaque FETCH dans une boucle de curseur. Cela permet de détecter rapidement si le curseur a atteint la fin du jeu de résultats ou si une erreur
est survenue durant l'opération.
- Utilisée conjointement avec OPEN, FETCH, et CLOSE dans les curseurs : Elle fonctionne en tandem avec d'autres commandes de curseur (OPEN, FETCH, CLOSE,
DEALLOCATE). Après un FETCH, la valeur de @@FETCH_STATUS doit être vérifiée pour évaluer si la récupération a réussi, si des données ont été retournées ou si une erreur
s'est produite.
- Permet une sortie contrôlée des boucles de curseur : En utilisant @@FETCH_STATUS, les développeurs peuvent implémenter des conditions de sortie contrôlées
dans les boucles WHILE ou FOR utilisées avec les curseurs. Par exemple, si la fonction retourne -1, cela indique que le curseur a atteint la fin du jeu de résultats et que
la boucle doit se terminer.
- Pas utile avec les curseurs à lecture seule : Les curseurs définis en mode "lecture seule" n'ont pas besoin d'être explicitement fermés après chaque
opération, ce qui rend moins nécessaire l'utilisation de @@FETCH_STATUS. Cependant, pour les curseurs où les données sont mises à jour ou supprimées, cette fonction
devient essentielle pour vérifier l'état de chaque FETCH.
- Indicateur utile pour le débogage des opérations de curseur : Lors du développement ou du débogage d'applications utilisant des curseurs, @@FETCH_STATUS
fournit une méthode simple pour diagnostiquer les problèmes de traitement des lignes. Elle permet de savoir si une erreur s'est produite durant l'exécution de l'opération
de récupération et d'agir en conséquence pour corriger ou ajuster la logique.
Dernière mise à jour : Jeudi, le 23 Septembre 2021