SQL Server CURSOR (Norsk)

Sammendrag: i denne opplæringen lærer du hvordan du bruker SQL Server-markøren til å behandle et resultatsett, en rad om gangen.

SQL fungerer basert på sett, f.eks. SELECT -uttrykk returnerer et sett med rader som kalles et resultatsett. Noen ganger kan det være lurt å behandle et datasett rad for rad. Dette er hvor markører spiller inn.

Hva er en databasemarkør

En databasemarkør er et objekt som muliggjør kryssing over radene i et resultatsett. Den lar deg behandle individuell rad returnert av et spørsmål.

SQL Server-markørens livssyklus

Dette er trinn for bruk av markøren:

Forklar først en markør.

Code language: SQL (Structured Query Language) (sql)

For å erklære en markør, angir du navnet etter DECLARE nøkkelordet med CURSOR datatypen og gir en SELECT uttalelse som definerer resultatsettet for markøren.

Deretter åpner du og fyller markøren ved å utføre SELECT uttalelse:

Code language: SQL (Structured Query Language) (sql)

Hent deretter en rad fra markøren til en eller flere variabler:

Code language: SQL (Structured Query Language) (sql)

SQL Server gir @@FETCHSTATUS -funksjonen som returnerer statusen til den siste markøren FETCH setning utført mot markøren; Hvis @@FETCHSTATUS returnerer 0, betyr det at FETCH uttalelsen var vellykket. Du kan bruke uttalelsen WHILE for å hente alle rader fra markøren som vist i følgende kode:

Code language: SQL (Structured Query Language) (sql)

Deretter lukker du markøren:

Code language: SQL (Structured Query Language) (sql)

Til slutt fordeler du markøren:

Code language: SQL (Structured Query Language) (sql)

SQL Server-markøreksempel

Vi bruker tabellen prodution.products fra eksempeldatabasen for å vise deg hvordan du bruker en markør:

Erklær først to variabler for å inneholde produktnavn og listepris, og en markør for å holde resultatet av et spørsmål som henter produktnavn og listepris fra production.products tabellen:

Deretter åpner du markøren:

Code language: SQL (Structured Query Language) (sql)

Hent deretter hver rad fra markøren og skriv ut produktnavnet og listeprisen:

Deretter lukker du markøren:

Code language: SQL (Structured Query Language) (sql)

Til slutt, plasser markøren for å frigjøre den.

Følgende kodebit setter alt sammen:

Her er delvis utdata:

I praksis vil du sjelden bruke markøren til å behandle et resultatsett rad for rad.

I denne veiledningen har du lært hvordan du bruker SQL Server-markøren til å behandle et resultatsett, hver rad om gangen.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *