CURSEUR SQL Server

Résumé: dans ce didacticiel, vous apprendrez à utiliser le curseur SQL Server pour traiter un jeu de résultats, une ligne à la fois.

SQL fonctionne sur la base dun ensemble, par exemple, linstruction SELECT retourne un ensemble de lignes appelé ensemble de résultats. Cependant, parfois, vous souhaiterez peut-être traiter un ensemble de données ligne par ligne. Cest là que les curseurs entrent en jeu.

Quest-ce quun curseur de base de données

Un curseur de base de données est un objet qui permet de parcourir les lignes dun jeu de résultats. Il vous permet de traiter une ligne individuelle renvoyée par une requête.

Cycle de vie du curseur SQL Server

Voici les étapes dutilisation dun curseur:

Commencez par déclarer un curseur.

Code language: SQL (Structured Query Language) (sql)

Pour déclarer un curseur, vous spécifiez son nom après le mot-clé DECLARE avec le type de données CURSOR et indiquez un SELECT instruction qui définit le jeu de résultats pour le curseur.

Ensuite, ouvrez et remplissez le curseur en exécutant SELECT instruction:

Code language: SQL (Structured Query Language) (sql)

Ensuite, récupérez une ligne du curseur dans une ou plusieurs variables:

Code language: SQL (Structured Query Language) (sql)

SQL Server fournit la fonction @@FETCHSTATUS qui renvoie létat du dernier curseur FETCH instruction exécutée contre le curseur; Si @@FETCHSTATUS renvoie 0, cela signifie que linstruction FETCH a réussi. Vous pouvez utiliser linstruction WHILE pour récupérer toutes les lignes du curseur comme indiqué dans le code suivant:

Code language: SQL (Structured Query Language) (sql)

Ensuite, fermez le curseur:

Code language: SQL (Structured Query Language) (sql)

Enfin, libérez le curseur:

Code language: SQL (Structured Query Language) (sql)

Exemple de curseur SQL Server

Nous utiliserons la table prodution.products de la base de données exemple pour vous montrer comment utiliser un curseur:

Tout dabord, déclarez deux variables contenant le nom du produit et le prix catalogue, et un curseur pour contenir le résultat dune requête qui récupère le nom du produit et le prix catalogue de la table production.products:

Ensuite, ouvrez le curseur:

Code language: SQL (Structured Query Language) (sql)

Ensuite, récupérez chaque ligne du curseur et imprimez le nom du produit et le prix catalogue:

Après cela, fermez le curseur:

Code language: SQL (Structured Query Language) (sql)

Enfin, désallouez le curseur pour le libérer.

Les extraits de code suivants rassemblent tout:

Voici la sortie partielle:

En pratique, vous utiliserez rarement le curseur pour traiter un ensemble de résultats ligne par ligne.

Dans ce didacticiel, vous avez appris à utiliser le curseur SQL Server pour traiter un jeu de résultats, chaque ligne à la fois.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *