SQL Server Markøreksempel

SQL Server Markøreksempel
Markører er et grunnleggende konsept i databaser. De lar deg iterere over resultatet av en spørring. Dette kan være nyttig når du trenger å iverksette tiltak på rad-for-rad, noe som fører til forenklet og sekvensiell operasjon til databasen.

Denne artikkelen guider deg gjennom grunnleggende om å jobbe med markører i SQL Server.

Hva er en markør?

La oss starte med det grunnleggende og diskutere hva en databasemarkør er. En markør er et objekt som lar deg krysse radene i et resulterende spørsmål. Enkelt sagt lar en markør deg behandle radene til et resulterende sett individuelt.

Livssyklusen til SQL Server -markøren

En SQL Server -markør gjennomgår forskjellige trinn. Følgende beskriver livssyklusen til en markør i SQL Server.

Du starter med å erklære en markør ved hjelp av en SQL -setning. Følgende syntaks viser eksempel Markørdefinisjon

Forklar markøren for Cursor_name
For SELECT_QUERY;

Det andre trinnet er å åpne markøren, slik at du kan lagre dataene fra resultatsettet. Åpne markøren som:

Åpen Cursor_name;

I hente -trinnet kan du hente radene fra markøren en etter en eller i et sett. Eksempel Fetch syntaks er som:

Hent neste fra markøren til list_of_variabler;

Når du er ferdig med å hente dataene, lukker du markøren.

Lukk markørnavn;

Til slutt, omhandler markøren, som sletter markørdefinisjonen og frigjør systemressurser knyttet til den.

deallocate cursor_name;

Eksempel Markørbruk

La oss ta et eksempel for å illustrere hvordan du bruker en SQL Server -markør. I vårt eksempel vil vi bruke eksemplet SalesDB for SQL Server. Last ned og eksperimentere med det selv.

Vi starter med å erklære variablene som holder produktnavnet og prisen og markøren for å behandle spørringens resultat.

Et eksempel på kodebit er som angitt nedenfor:

ERKLÆRE
@product_name varchar (255),
@Price desimal (10,2);
ERKLÆRE
Sample_cursor Markør
For valg
@Produktnavn,
@pris
FRA
Produkter;

Når markøren og variabel erklæring er fullført, kan vi åpne og bruke markøren til å hente dataene.

Et eksempel er som vist:

Bruk SalesDB;
ERKLÆRE
@Name varchar (255),
@Price desimal (10,2);
ERKLÆRE
Sample_cursor Markør
For valg
@Navn,
@Pris
FRA
Produkter;
Åpen prøve_cursor;
hente neste fra Sample_cursor inn i
@Navn,
@Pris;
mens @@ fetch_status = 0
BEGYNNE
print @name + cast (@price som varchar (maks));
hente neste fra Sample_cursor inn i
@Navn,
@Pris;
SLUTT;
Lukk Sample_cursor;
deallocate Sample_cursor;

Etter å ha hentet de nødvendige dataene, lukker og omlokker vi markøren for å frigjøre systemressurser.

Lukking.

Denne guiden lærte deg det grunnleggende om å jobbe med SQL Server -markører. Selv om du sjelden vil bruke markører til å behandle data på rad-for-rad-basis, kan markører være veldig nyttige når de brukes riktig.