Normalmente, le richieste SQL (Structured Query Language) lavorano con tutta la serie di dati. Tuttavia, ci sono momenti in cui può essere migliore o addirittura necessario per lavorare con dati una riga alla volta. Per queste circostanze, i cursori sono l'opzione migliore. Essi consentono un'operazione da eseguire su ogni riga di un set di dati, uno alla volta. Ad esempio, i cursori sono il modo più semplice per muoversi attraverso un intero set di dati e applicare una procedura a ogni riga nel set. Tuttavia, questo ha un costo: i cursori sono generalmente molto più lenti rispetto ad altre operazioni di SQL.
Istruzioni
1
Digitare il seguente comando nella console di SQL Server per dichiarare il cursore:
DECLARE CURSOR cursor1
2
Fornire un'istruzione SELECT che recupera i dati su che il cursore funzionerà:
PER
SELECT Cognome
DA dipendenti
PER aggiornamento di last_name
Questo consente di recuperare un elenco di last_names da una tabella employee. Si specifica, inoltre, che si aggiornerà il cognome come si procede attraverso i dati del cursore.
3
Aprire il cursore, digitando quanto segue:
OPEN cursor1
4
Iniziano a scorrere le righe digitando quanto segue:
FETCH NEXT da cursor1
IN @LASTNAME
MENTRE @@FETCH_STATUS = 0
BEGIN
5
Aggiornamento il cognome digitando quanto segue:
EXEC SUPERIORE (@LASTNAME)
Questo imposterà l'ultimo nome della riga corrente, quindi è in lettere maiuscole.
6
Recuperare un'altra riga prima di terminare il ciclo WHILE iniziato nel passaggio 4:
FETCH NEXT da cursor1
IN @LASTNAME
FINE
7
Chiudere il cursore e rilasciare il suo nome in modo che può essere utilizzato nuovamente se necessario:
Cursor1 stretta
DEALLOCATE cursor1
Consigli & Avvertenze
- Questo tutorial utilizza Microsoft SQL Server. La sintassi può cambiare molto leggermente per altre implementazioni di SQL, ad esempio MySQL.
- I cursori sono molto lenti rispetto ad altre operazioni in SQL, quindi devono essere utilizzati solo dove necessario.