Come utilizzare i cursori in SQL

May 7

Anche se i cursori sono il modo più lento possibile muoversi attraverso i dati archiviati nel server SQL, possono essere utili quando si cerca di accedere a una sola riga di dati alla volta. Al contrario di aggiornare le dichiarazioni, che svolgono le funzioni di molte righe di dati contemporaneamente, cursori consentono la capacità di manipolare una singola riga senza modificare i parametri di qualsiasi delle righe intorno. Per poter utilizzare un cursore in SQL, è necessario essere in grado di scrivere una funzione del cursore.

istruzione

1 Dichiarare il cursore. Per dichiarare un cursore, è necessario includere il seguente codice:

DICHIARARE @ [variabile] char (11)
DICHIARARE [nome_cursore] CURSOR
PER [select_statement]
[PER sola lettura]

La "variabile" nel codice è il termine di ricerca che si sta utilizzando, come ad esempio "Cognome". Questo dipende da i nomi dei file nel database e che le righe si stanno concentrando su. Il nome del cursore può essere tutto quello che vuoi chiamarlo. La maggior parte delle persone utilizzano qualcosa di semplice, come ad esempio "C1" per designare un cursore. L'istruzione SELECT per il cursore può essere qualsiasi istruzione select usato regolarmente in SQL.

2 Aprire il cursore. L'apertura del cursore è un semplice pezzo di codice. Saltare una riga sotto la fine del codice per dichiarare il cursore, quindi è sufficiente digitare "APERTO", uno spazio e il nome del cursore.

3 Recuperare i dati. Lascia una riga sotto la dicitura "Open" prima di iniziare la sua dichiarazione "Fetch". Quanto segue è il codice "Fetch", che utilizza solo le informazioni che è già stato coperto:

FETCH AVANTI DA [nome-cursore]
IN @ [variabile]
MENTRE @@ FETCH_STATUS = 0
INIZIO

4 Espandere e terminare il comando "Fetch". Si utilizzerà il codice qui sotto, compilando il nome della variabile e il cursore di nuovo.

STAMPA @ [variabile]
FETCH AVANTI DA [nome-cursore]
IN @ [variabile]
FINE

5 Chiudere il cursore. Il cursore non funziona correttamente se non viene chiuso. Per chiudere il cursore, saltare una riga dopo "END" nel codice "Fetch" e digitare "nome-cursore CLOSE". Sulla linea direttamente sotto di tale tipo "DEALLOCATE cursore-nome." Questo chiude il cursore.

6 Eseguire il cursore. Una volta che l'istruzione cursore è completa, digitare il comando "GO" alla fine del cursore da eseguire.