Cursoare SQL Server 2008

Previzualizare curs:

Extras din curs:

Cursoarele SQL reprezintă o modalitate de parcurgere secvențială a unui set de înregistrări returnat de o frază SQL de tip SELECT.

Sintaxa pentru declararea unui cursor:

DECLARE nume_cursor CURSOR

[ FORWARD_ONLY | SCROLL ]

[ STATIC | KEYSET | DYNAMIC | FAST_FORWARD ]

[ READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ]

FOR instructiune_SQL_SELECT

[ FOR UPDATE [ OF nume_coloana [ ,...n ] ] ]

• SCROLL – permite operațiile FIRST, LAST, PRIOR, NEXT, RELATIVE, ABSOLUTE pentru deplasarea în cadrul înregistrărilor cursorului

• FORWARD_ONLY – permite deplasarea numai în modul “înainte” în cadrul înregistrărilor cursorului.

• STATIC – determina realizarea unei copii temporare a setului de înregistrări pe care se lucrează. În cazul în care se fac modificări în tabelele folosite ca sursă de către cursor, acestea nu se reflectă în cadrul setului de înregistrări virtual, asociat cursorului. Cursorul nu este actualizabil.

• DYNAMIC – permite ca orice modificare efectuată în tabelele sursă ale cursorului să se reflecte automat în setul de înregistrări asociat acestuia. În acest tip de cursor nu se poate utiliza ABSOLUTE.

• FAST_FORWARD – se utilizează pentru a optimiza accesul la înregistrările cursorului (numai “inainte”).

• KEYSET – specifică faptul că înregistrările din cursor sunt deschise într-o anumită ordine.

• SCROLL_LOCKS – blochează înregistrările care se citesc (pentru ceilalţi utilizatori), în aşa fel încât orice actualizare încercată pe înregistrările citite să se efectueze cu succes.

• OPTIMISTIC – nu blochează înregistrările citite, însă în cazul în care alţi utilizatori efectueză actualizări pe aceleaşi înregistrări cu cele din cursor, iar cel care utilizează cursorul încearcă şi el modificări, se citeşte valoarea coloanei timestamp, iar în cazul în care se detectează că s-au efectuat actualizări de către alţi utilizatori, atunci actualizarea iniţiată în cursor va eşua.

• READ ONLY – nu sunt permise modificările/ștergerile în cadrul înregistrărilor cursorului

• În fraza SQL de selecție nu sunt permise clauzele COMPUTE, COMPUTE BY și INTO

• UPDATE [OF nume_coloana [ ,...n ] ] ] – stabilește o coloană sau mai multe coloane pe care se pot face actualizări în cadrul înregistrărilor cursorului

OPEN nume_cursor

Executa instructiunile T-SQL declarate in cursor si incarca in memorie setul de inregistrari rezultat.

CLOSE nume_cursor

Inchide cursorul, orice blocaje induse de acesta inregistrarilor din tabelele folosite de cursor fiind sterse.

DEALLOCATE nume_cursor

Elibereaza memoria ocupata de cursor.

FETCH

Accesează o înregistrare din cursor. Sintaxa:

FETCH

[ [ NEXT | PRIOR | FIRST | LAST

| ABSOLUTE { n | @nvar }

| RELATIVE { n | @nvar }

]

FROM

]

Nume_cursor

[ INTO @variable_name [ ,...n ] ]

ABSOLUTE { n | @nvar}

- dacă n este un număr pozitiv se returnează înregistrarea cu numărul n, calculată în raport cu începutul cursorului.

- - dacă n este un număr negativ se returnează înregistrarea cu numărul n, calculată în raport cu sfărşitul cursorului.

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Cursoare SQL Server 2008.doc
Alte informații:
Tipuri fișiere:
doc
Nota:
7/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
5 pagini
Imagini extrase:
5 imagini
Nr cuvinte:
903 cuvinte
Nr caractere:
5 513 caractere
Marime:
49.99KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Calculatoare
Predat:
la facultate
Materie:
Calculatoare
Sus!