Exemple de curseur SQL Server

Exemple de curseur SQL Server
Les curseurs sont un concept fondamental dans les bases de données. Ils vous permettent d'itérer sur le résultat d'une requête. Cela peut être utile lorsque vous devez agir sur une rangée par rangée, conduisant à des opérations simplifiées et séquentielles à la base de données.

Cet article vous guide à travers les principes fondamentaux de la travail avec les curseurs dans SQL Server.

Qu'est-ce qu'un curseur?

Commençons par les bases et discutons de ce qu'est un curseur de la base de données. Un curseur est un objet qui vous permet de traverser les lignes d'une requête résultante. En termes simples, un curseur vous permet de traiter les lignes d'un ensemble résultant individuellement.

Le cycle de vie du curseur SQL Server

Un curseur SQL Server subit différentes étapes. Ce qui suit décrit le cycle de vie d'un curseur dans SQL Server.

Vous commencez par déclarer un curseur à l'aide d'une instruction SQL. La syntaxe suivante montre l'exemple de définition du curseur

Déclarer le curseur de curseur
Pour select_query;

La deuxième étape consiste à ouvrir le curseur, vous permettant de stocker les données de l'ensemble de résultats. Ouvrez le curseur comme:

Open Cursor_name;

Dans l'étape de récupération, vous pouvez récupérer les lignes du curseur un par un ou dans un ensemble. Exemple de syntaxe de récupération est comme:

Répondez à partir du curseur dans list_of_variables;

Une fois que vous avez fini de récupérer les données, fermez le curseur.

Close Cursor_name;

Enfin, traitez le curseur, qui supprime la définition du curseur et libère les ressources système qui lui sont associées.

DealLocation cursor_name;

Exemple d'utilisation du curseur

Prenons un exemple pour illustrer comment utiliser un curseur SQL Server. Dans notre exemple, nous utiliserons l'échantillon SalesDB pour SQL Server. Téléchargez et expérimentez-le vous-même.

Nous allons commencer par déclarer les variables détenant le nom et le prix du produit et le curseur pour traiter le résultat de la requête.

Un exemple de l'extrait de code est fourni ci-dessous:

DÉCLARER
@product_name varchar (255),
@Price Decimal (10,2);
DÉCLARER
Sample_Cursor Cursor
Pour sélectionner
@product_name,
@prix
DEPUIS
Des produits;

Une fois le curseur et la déclaration variable terminée, nous pouvons ouvrir et utiliser le curseur pour récupérer les données.

Un exemple est comme indiqué:

Utiliser SalesDB;
DÉCLARER
@Name varchar (255),
@Price Decimal (10,2);
DÉCLARER
Sample_Cursor Cursor
Pour sélectionner
@Nom,
@Prix
DEPUIS
Des produits;
Open Sample_Cursor;
récupérer ensuite de Sample_Cursor dans
@Nom,
@Prix;
tandis que @@ fetch_status = 0
COMMENCER
print @name + cast (@price as varchar (max));
récupérer ensuite de Sample_Cursor dans
@Nom,
@Prix;
FIN;
Fermer Sample_Cursor;
DealLocation Sample_Cursor;

Après avoir récupéré les données requises, nous fermons et traitons le curseur pour libérer les ressources du système.

Fermeture.

Ce guide vous a appris les bases de travailler avec les curseurs SQL Server. Bien que vous utiliserez rarement des curseurs pour traiter les données sur une rangée par rangée, les curseurs peuvent être très utiles lorsqu'ils sont utilisés correctement.