Questo articolo ti guida attraverso i fondamenti del lavoro con i cursori in SQL Server.
Cos'è un cursore?
Cominciamo dalle basi e discutiamo di cosa sia un cursore di database. Un cursore è un oggetto che consente di attraversare le file di una query risultante. In termini semplici, un cursore consente di elaborare le righe di un set risultante individualmente.
Il ciclo di vita del cursore SQL Server
Un cursore SQL Server subisce vari passaggi. Quanto segue descrive il ciclo di vita di un cursore in SQL Server.
Inizi dichiarando un cursore usando un'istruzione SQL. La seguente sintassi mostra la definizione del cursore di esempio
Dichiarare cursore cursore_nameIl secondo passo è aprire il cursore, consentendo di archiviare i dati dal set di risultati. Apri il cursore come:
Cursor_name aperto;Nella fase di recupero, è possibile recuperare le righe dal cursore uno per uno o in un set. Esempio di sintassi di recupero è come:
Fetch Avanti dal cursore in list_of_variables;Una volta che hai finito di recuperare i dati, chiudi il cursore.
chiudere cursore_name;Infine, affare il cursore, che elimina la definizione del cursore e rilascia le risorse di sistema ad essa associate.
deallocalizza cursore_name;Esempio di utilizzo del cursore
Facciamo un esempio per illustrare come utilizzare un cursore SQL Server. Nel nostro esempio, useremo il campione SalesDB per SQL Server. Scarica e sperimentalo da solo.
Inizieremo dichiarando le variabili che tengono il nome e il prezzo del prodotto e il cursore per elaborare il risultato della query.
Uno snippet di codice di esempio è come previsto di seguito:
DICHIARAREUna volta completato il cursore e la dichiarazione variabile, possiamo aprire e utilizzare il cursore per recuperare i dati.
Un esempio è come mostrato:
Usa SalesDB;Dopo aver recuperato i dati richiesti, chiudiamo e trattiamo il cursore per rilasciare risorse di sistema.
Chiusura.
Questa guida ti ha insegnato le basi del lavoro con i cursori SQL Server. Sebbene utilizzerai raramente i cursori per elaborare i dati su base rigida, i cursori possono essere molto utili se usati correttamente.