Nwlapcug.com


Che cosa è un cursore in TSQL?

Che cosa è un cursore in TSQL?


Transact-SQL, o T-SQL in breve, è un'estensione del linguaggio SQL standard - un linguaggio di programmazione progettato per la gestione dei dati nei database relazionali - implementati da Microsoft, nel suo prodotto e SQL Server, Sybase, nel suo prodotto Adaptive Server Enterprise. In un database relazionale, i dati vengono memorizzati in tabelle di righe e colonne. In T-SQL, un cursore è una struttura di controllo denominato utilizzata da un programma applicativo per puntare a una riga di dati.

Posizione del cursore

Un cursore è associato a una dichiarazione, conosciuta come un'istruzione SELECT, che interroga il database e recupera zero o più righe da una o più tabelle di database, sulla base dei criteri specificati. Un cursore è costituito da un insieme di righe risultanti dall'esecuzione dell'istruzione SELECT associata con il cursore e la posizione del cursore, che è un puntatore a una riga con il set di risultati.

Dichiarazione

In T-SQL, gli attributi di un cursore, tra cui la query utilizzata per costruire il set di risultati su cui agisce il cursore, vengono definite da un'istruzione DECLARE CURSOR. L'istruzione DECLARE CURSOR viene creata la struttura di cursore e compila e memorizza la query associata con il cursore, ma non esegue la query.

Apertura e recupero

L'istruzione DECLARE CURSOR è seguita da un'istruzione OPEN, che apre il cursore o, in altre parole, esegue operazioni di base..--ad esempio il blocco una tabella di database, in modo che non può essere utilizzato o modificato da applicazioni simultanee..--che permettono la query associata il cursore deve essere eseguito. L'istruzione OPEN restituisce un set di risultati e un comando FETCH esegue il cursore compilato e restituisce una o più righe dal set di risultati. Il comando FETCH si sposta la posizione corrente del cursore verso il basso il risultato stabilito da una o più righe in un momento.

Chiusura

Dopo aver estratto una riga di dati basati sulla query associata con il cursore, ciò che rimane è quello di esaminare, aggiornare o eliminare la riga tramite il cursore. Aggiornare ed eliminare operazioni sono facoltativi, ma in ogni caso si applicano solo alla riga di dati nella posizione corrente del cursore dopo un'operazione di recupero. Si noti che è possibile utilizzare un cursore per inserire righe in una tabella di database. Durante l'elaborazione su tutte le righe appropriate nel risultato set è completo, viene utilizzato un comando chiudere per chiudere il set di risultati, rimuovere tutte le tabelle temporanee e deallocare le risorse stanziate per la struttura di cursore. Il comando Chiudi può, infatti, essere eseguito in qualsiasi momento, senza elaborare l'intero set di risultati.