Les curseurs sont une structure prévue dans les versions programmables de Structured Query Language (SQL ), tels que Sybase ou Microsoft SQL Server Transact -SQL. Définir un curseur pour une instruction SQL select ou update sur une ou plusieurs tables . Le curseur a un nom que vous pouvez utiliser pour désigner , ouvrez et fermez le curseur ou extraire des lignes de l'ensemble curseur. Les curseurs sont utilisés lors de chaque ligne dans le jeu besoin de traitement ou de ses valeurs sont utilisées dans les variables du programme . Quand un nouveau curseur est déclaré dans la boucle qui traite chaque ligne d'un curseur , le nouveau curseur interne est imbriqué dans l'ancien curseur externe . Instructions
1
déclarer un curseur pour une instruction SELECT simple en utilisant la syntaxe T -SQL suivante:
DECLARE CURSOR
FOR SELECT field1 , champ2 , field3
dE
OÙ field4 < = @ limitval
2
Ouvrez le curseur pour le traitement en utilisant ce T -SQL syntaxe :
oUVERT
3 extraire les lignes du curseur ouvert pour le traitement, car il s'agit d'une lecture (sélection) du curseur. Déclarer des variables nécessaires pour stocker des valeurs de champs dans la ligne actuelle du curseur. La syntaxe T -SQL pour extraire les lignes du curseur est la suivante:
CHERCHER APRÈS DE INTO @ var_fld1 , @ var_fld2 , @ var_fld3
alors que @ @ fetch_status == 0 Photos
commencer
--- < processus rangée du curseur ici> Photos
CHERCHER APRÈS dE INTO @ var_fld1 , @ var_fld2 , @ var_fld3
fin
4
Ajoutez la déclaration et l'exécution de la deuxième ou intérieure curseur dans la boucle de chercher le curseur précédent ou externe comme suit :
- curseur externe chercher boucle
alors que @ @ fetch_status == 0
commencer
< processus ligne courante du curseur externe ici> Photos
- Temps de déclarer l' intérieur curseur - nidification commence
DECLARE CURSOR inner_cursor
FOR SELECT X , Y , Z, ....
FROM table1 , table2 , ...
OÙ
OUVERT inner_cursor
CHERCHER APRÈS DE inner_cursor INTO @ varX , @ varier, @ VARZ ...
alors que @ @ fetch_status == 0
commencer - curseur intérieure chercher boucle
-
courant - obtenez rangée suivante
cHERCHER APRÈS DE inner_cursor INTO @ varX , @ varier, @ VARZ ...
fin - curseur intérieure chercher boucle
fin - curseur externe chercher boucle
< br > Photos