T-SQL: un exemple Simple à l’aide d’un curseur

Pour plus d’informations sur les curseurs, consultez également la formation gratuite sur les requêtes SQL fournie par Steve Stedman.

dans SQL Server, le curseur est un outil utilisé pour parcourir un jeu de résultats ou pour parcourir chaque ligne d’un jeu de résultats une ligne à la fois. Ce n’est peut-être pas la meilleure façon de travailler avec un ensemble de données, mais si vous devez boucler row en agonisant row (RBAR) dans un script T-SQL, un curseur est une façon de le faire.,

Remarque: Si vous êtes nouveau sur SQL Server et que vous venez d’un arrière-plan Oracle, vous devez savoir que les curseurs sur SQL Server sont différents de ceux sur Oracle.

avant de créer le curseur, nous allons simplement commencer par une simple requête qui finira par être utilisée dans le curseur.

USE AdventureWorks2008;GOSELECT BusinessEntityID, Name FROM Sales.Store;

Qui ressemble à quelque chose comme ceci:

Maintenant, pour le convertir en un curseur, au lieu d’une instruction select.

Étape 1: déclarer les variables pour maintenir la sortie du curseur.,

DECLARE @BusinessEntityID as INT;DECLARE @BusinessName as NVARCHAR(50);

Étape 2: Déclarer l’objet curseur;

DECLARE @BusinessCursor as CURSOR;

Etape 3: affectation de la requête à l’aide du curseur.

SET @BusinessCursor = CURSOR FORSELECT BusinessEntityID, Name FROM Sales.Store;

Etape 4: Ouvrir le curseur.

OPEN @BusinessCursor;

Etape 5: Extraction de la première ligne.

FETCH NEXT FROM @BusinessCursor INTO @BusinessEntityID, @BusinessName;

Étape 6: Boucle jusqu’à ce qu’il n’y ait plus de résultats. Dans la boucle, Imprimez L’ID et le nom du jeu de résultats et récupérez la ligne net.

Étape 7: fermez le curseur.,

CLOSE @BusinessCursor;

Étape 8: désallouer le curseur pour libérer de la mémoire ou ouvrir des jeux de résultats.

DEALLOCATE @BusinessCursor;

Maintenant, mettre tous ensemble:

Cela devrait vous donner un aperçu rapide de la façon de rapidement créer et utiliser un curseur sur Microsoft SQL Server. L’exemple illustré a été exécuté sur SQL Server 2008 et fonctionne de la même manière sur SQL Server 2005 , SQL Server 2008R2, SQL Server 2012 ou SQL Server 2014.,

Voici une vidéo montrant un aperçu similaire de l’utilisation des curseurs dans TSQL.

Profitez-en!,

-Steve Stedman

liens connexes

  • vidéo: Introduction Simple aux curseurs TSQL
  • formation gratuite aux requêtes SQL pour le cours 70-461
  • exemple de curseur Simple : FORWARD_ONLY vs fast FORWARD
  • formation vidéo sur L’utilisation des curseurs avec SQL Server
  • plus de détails sur les curseurs
  • curseurs – dette technique
  • exemple de base de données avec un curseur

avez-vous essayé database Health Monitor?

obtenir de L’aide de Steve et de L’équipe Stedman Solutions

Nous sommes prêts à vous aider., Steve et L’équipe de Stedman Solutions sont là pour vous aider avec vos besoins SQL Server.Obtenez de l’aide dès aujourd’hui en contactant Stedman Solutions via le formulaire de consultation gratuit de 30 minutes.

Laisser un commentaire

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