Maison > base de données > tutoriel mysql > Comment parcourir les résultats d'une requête T-SQL à l'aide de curseurs ?

Comment parcourir les résultats d'une requête T-SQL à l'aide de curseurs ?

Barbara Streisand
Libérer: 2024-12-30 14:47:14
original
1080 Les gens l'ont consulté

How to Iterate Through T-SQL Query Results Using Cursors?

Parcourir les résultats de la requête dans T-SQL

Pour parcourir les résultats de la requête SELECT @id=table.id FROM table, vous pouvez utiliser un CURSEUR dans T-SQL. Voici un extrait de code qui montre comment y parvenir :

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

DECLARE @id INT;

DECLARE @name NVARCHAR(100);

DECLARE @getid CURSOR;

 

SET @getid = CURSOR FOR

SELECT

    table.id,

    table.name

FROM

    table;

 

OPEN @getid;

FETCH NEXT

FROM @getid

INTO @id, @name;

WHILE @@FETCH_STATUS = 0

BEGIN

    EXEC stored_proc @varName = @id, @otherVarName = 'test', @varForName = @name;

    FETCH NEXT

    FROM @getid

    INTO @id, @name;

END;

 

CLOSE @getid;

DEALLOCATE @getid;

Copier après la connexion

Dans ce script :

  • Un CURSEUR nommé @getid est créé pour parcourir les résultats de la requête.
  • L'instruction OPEN exécute la requête et attribue les résultats au curseur.
  • L'instruction FETCH L'instruction NEXT récupère la première ligne de résultats et attribue les valeurs aux variables @id et @name.
  • La boucle WHILE continue de récupérer les lignes du curseur jusqu'à ce qu'il n'y ait plus de lignes à traiter.
  • Pour chaque ligne, l'instruction EXEC exécute la procédure stockée shared_proc avec les paramètres @varName, @otherVarName et @varForName définis sur les valeurs correspondantes du table.
  • Une fois toutes les lignes traitées, les instructions CLOSE et DEALLOCATE ferment et suppriment le curseur de la mémoire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal