Hva er en markør i TSQL?

Hva er en markør i TSQL?


Transact-SQL, eller T-SQL for kort, er en utvidelse av standard SQL - et programmeringsspråk for å håndtere data i relasjonsdatabaser - implementert av Microsoft i sin SQL Server-produktet, og Sybase, i sin Adaptive Server Enterprise produkt . I en relasjonsdatabase blir data lagret i tabeller av rader og kolonner. I T-SQL, er en markør en navngitt kontrollstruktur brukes av et program for å peke på en rad med data.

markørposisjonen

En markør er assosiert med en uttalelse, kjent som en SELECT-setning som spør databasen og henter null eller flere rader fra en eller flere databasetabeller basert på det spesifiserte søket. En markør består av et sett med rader som følge av gjennomføringen av SELECT uttalelse i forbindelse med markøren og markøren, som er en peker til en rad med resultatsettet.

Erklæring

I T-SQL, attributtene til en markør, inkludert spørringen som brukes til å bygge resultatsettet som markøren opererer, er definert av en DECLARE CURSOR uttalelse. DECLARE CURSOR uttalelsen skaper markøren struktur og samler og lagrer spørringen forbundet med markøren, men ikke utføre spørringen.

Åpning og Henter

DECLARE CURSOR utsagn etterfølges av en åpen uttalelse, som åpner markøren, eller med andre ord, utfører grunnleggende operasjoner - for eksempel låse en databasetabell, slik at den ikke kan brukes eller endres av samtidige programmer - som gjør at søket assosiert med markøren for å bli henrettet. ÅPEN setningen returnerer et resultatsett og en HENT kommando utfører kompilert markøren og returnerer en eller flere rader fra resultatsettet. Fetch kommandoen flytter gjeldende markørposisjon ned resultatet satt av én eller flere rader om gangen.

Lukking

Etter å ha hentet en rad med data basert på spørringen forbundet med markøren, hva gjenstår er å undersøke, oppdatere eller slette raden gjennom markøren. Oppdatere og slette operasjoner er valgfritt, men i alle fall bare gjelde til raden av data ved markørposisjonen etter en hente. Merk at du ikke kan bruke en markør for å sette inn rader i en database tabell. Ved behandling på alle de aktuelle radene i resultatsettet er komplett, er en nær kommando brukes til å lukke resultatsettet, fjern eventuelle midlertidige tabeller og deallocate ressursene avsatt til markøren struktur. Den CLOSE kommandoen kan faktisk bli henrettet når som helst, uten å behandle hele resultatsettet.