Även markörer är den långsammaste möjliga sätt att gå igenom data som lagras i SQL -server , kan de vara användbara när man försöker komma åt en enda rad med data åt gången . Till skillnad uppdatera uttalanden, som utför funktioner på många rader av data samtidigt , markörer tillåter dig möjlighet att manipulera en enda rad utan att ändra parametrarna för någon av de rader runt den . För att använda en markör i SQL , måste du kunna skriva en markör funktion . Instruktioner
1
Deklarera markören . För att deklarera en markör , måste du inkludera följande kod :
FÖRKLARA @ [ variabel ] char ( 11 ) FÖRKLARAR [ cursor_name ] CURSORFOR [ select_statement ] [ FOR skrivskyddad]
" variabel " i koden är söktermen du använder , till exempel " Efternamn ". Detta beror på namnen på raderna i din databas och vilka rader du fokuserar på . Markören Namnet kan vara något som du vill namnge det . De flesta människor använder något enkelt , som " C1 " för att beteckna en markör . SELECT-uttrycket för markören kan vara varje SELECT-sats som regelbundet används i SQL .
2
Öppna markören . Öppna markören är en enkel bit av koden . Hoppa en linje under slutet av din kod för att förklara markören , sedan helt enkelt skriva " OPEN ", ett utrymme och markören namnet .
3
hämta data . Lämna en rad under " Open " uttalande innan " Fetch " uttalande . Följande är " Fetch " kod , som använder endast information som redan har täckts :
FETCH NEXT FROM [ markör - namn ] INTO @ [ variabel ] WHILE @ @ FETCH_STATUS = 0BEGIN
4
Expandera och avsluta " Fetch kommandot . " Du kommer att använda koden nedan , fylla i variabeln och markören namn igen .
PRINT @ [ variabel ] FETCH NEXT FROM [ markör - namn ] INTO @ [ variabel ] END
5
Stäng markören . Markören fungerar inte korrekt om den inte är stängd . För att stänga markören , hoppa över en rad efter " END " i " Fetch " kod och typ " STÄNG markör - namn . " På raden direkt under det , skriver " DEALLOCATE markör - namn . " Detta stänger markören .
6
Kör markören . När markören uttalande är klar , skriv " GO " -kommandot i slutet av markören för att köra .