Nwlapcug.com


Come scrivere i cursori in SQL

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.