Cursor TSQL

Follow on Facebook  Share on Twitter  Share on Google  Share on Linkedin  Share on Blogger  Share on Flipboard  Share on Tumblr 

I cursori sono delle strutture SQL che permettono sdi scorrere un set di dati

Sintassi

DECLARE Nome_Cursore CURSOR FAST_FORWARD FOR /*qui select*/
OPEN Nome_Cursore
FETCH NEXT FROM cur INTO /*variabili*/
	WHILE @@fetch_status = 0
	BEGIN
		/*OPERAZIONI*/
		FETCH NEXT FROM Nome_Cursore INTO /*variabili*/
	END
CLOSE Nome_Cursore	
DEALLOCATE Nome_Cursore

  • DECLARE: dichiara il cursore. Dopo il comando CURSOR è posssibile specificare la modalità, ad esempio FAST_FORWARD identifica un cursose che può solo sorrere gli elementi in avanti
  • OPEN: apre il cursore eseguendo la query
  • FETCH NEXT: recupera il prossimo elemento del set di dati
  • CLOSE: chiude il cursore
  • DEALLOCATE: dealloca il cursore e rilascia la memoria utilizzata

Esempio

Prediamo in esame due tabelle:

Tabella Società

Societa Codice
Microsoft 1
Oracle 2
Sun 3
HP 4
MorpheusWeb 5

Tabella Ordini

NumeroOrdine Importo CodiceSocieta
1001 100 1
1002 200 2
1003 50 3
1004 300 4
1005 80 1
1006 120 2

DECLARE @societa INT		
DECLARE Nome_Cursore CURSOR FAST_FORWARD FOR 
	SELECT 
    	CODICE 
	FROM SOCIETA
OPEN Nome_Cursore
FETCH NEXT FROM cur INTO @societa
	WHILE @@fetch_status = 0
	BEGIN
		SELECT 
        	NumeroOrdine, Importo 
        FROM Ordini
        WHERE 
        	CodiceSocieta = @societa
        
		FETCH NEXT FROM Nome_Cursore INTO @societa
	END
CLOSE Nome_Cursore	
DEALLOCATE Nome_Cursore

Il risultato sarà il seguente

NumeroOrdine Importo
1001 100
1005 80
NumeroOrdine Importo
1002 200
1006 120
NumeroOrdine Importo
1003 50
NumeroOrdine Importo
1004 300

In pratica viene eseguito un set di istruzioni SQL per ogni record trovato nella query specificata nel cursore

Cursor TSQL

 

A colpo d'occhio

  • Script C#

    Script C# per tutte le esigenze: database, sessioni, file, contatori, stringhe, date, e-mail, e tanto altro

  • Manuale C#

    Manuale completo di C# per principianti e non

  • Script VB.Net

    Script VB.Net Visual Basic .net: database, sessioni, file, contatori, stringhe, date, e-mail, e tanto altro

  • Manuale SQL

    Manuale di SQL con particolare attenzione a T-SQL di Microsoft SQL Server

  • Seo

    Tecniche di posizionamento indicizzazione e ottimizzazione dei siti web per nei motori di ricerca

  • Manuale CSS

    Manuale completo sui CSS per principianti e non

Be Responsive

HTML 5

HTML 5

HTML 5 è un linguaggio di markup utilizzato per la strutturazione e il contenuto delle pagine Web.

CSS 3

CSS 3

CSS 3 è l'ultima evoluzione dei fogli di stile CSS. Contiene molte novità come angoli arrotondati, ombre, sfumature, transizioni o animazioni.

jQuery

jQuery

jQuery è una libreria JavaScript cross-platform progettata per semplificare lo scripting lato client.