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
|