Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> software >> Software Database >> .

Come utilizzare i cursori nidificati

cursori sono una struttura fornita nelle versioni programmabili di Structured Query Language ( SQL ), come Sybase o Microsoft SQL Server Transact - SQL . Definire un cursore per un'istruzione SELECT o l'aggiornamento di SQL su una o più tabelle . Il cursore ha un nome che può essere utilizzato per fare riferimento a , aprire e chiudere il cursore o recuperare le righe dal set di cursore . I cursori sono utilizzati quando ogni riga del set di esigenze di elaborazione o di suoi valori sono utilizzati in variabili di programma . Quando un nuovo cursore viene dichiarato nel ciclo che elabora ogni riga di un cursore , il nuovo cursore interno è nidificato all'interno del vecchio cursore esterno . Istruzioni
1

dichiara un cursore per una semplice istruzione SELECT utilizzando la seguente sintassi T - SQL :

DECLARE CURSOR

per Select campo1 , campo2 , campo3

DA

DOVE field4 < = @ limitval
2

Aprire il cursore per la lavorazione con questo T - SQL sintassi:

aPERTO
3

recuperare le righe dal cursore aperto per l'elaborazione, in quanto si tratta di una lettura ( select ) cursore . Dichiarare le variabili necessarie per memorizzare i valori dei campi nella riga corrente del cursore . La sintassi T - SQL per il recupero delle righe del cursore è il seguente :

ANDARE A PRENDERE DOPO DA INTO @ var_fld1 , var_fld2 @ , @ var_fld3

mentre @ @ FETCH_STATUS == 0

iniziare

--- < attuale processo di fila cursore qui >

ANDARE A PRENDERE DOPO da INTO @ var_fld1 , var_fld2 @ , @ var_fld3

fine
4

Aggiungi la dichiarazione e l'esecuzione del secondo o interno cursore nel prendere ciclo del cursore precedente o esterno come segue :

- cursore esterno prendere ciclo

mentre @ @ FETCH_STATUS == 0

iniziare


- Tempo di dichiarare l' interno del cursore - nidificazione inizia

DECLARE CURSOR inner_cursor

PER SELEZIONARE X , Y , Z , ....

FROM tabella1 , tabella2 , ...

DOVE

APERTO inner_cursor

ANDARE A PRENDERE DOPO da inner_cursor INTO @ varX , @ variare , @ VARZ ...

mentre @ @ FETCH_STATUS == 0

iniziare - cursore interno recuperare ciclo

-

- ottenere il ferro successivo

ANDARE A PRENDERE DOPO DA inner_cursor INTO @ varX , @ variare , @ VARZ ...

fine - cursore interno recuperare ciclo

fine - cursore esterno recuperare cappio


 

software © www.354353.com