Markører er en struktur gitt i programmerbare versjoner av Structured Query Language ( SQL ) som Sybase eller Microsoft SQL Server Transact - SQL. Definer en markør for en utvalgt eller oppdatere SQL-setning på en eller flere tabeller . Markøren har et navn som du kan bruke til å referere til , åpne og lukke markøren eller hente rader fra markøren settet. Pekere brukes når hver rad i settet trenger behandling eller dets verdier er brukt i programmet variabler . Når en ny markør er deklarert i løkke som behandler hver rad med en markør , er den nye indre markøren nestet inne i den gamle ytre markøren. Instruksjoner
en
Erklærer en markør for en enkel velger uttalelse med følgende T -SQL syntaks : en
DECLARE MARKØREN
FOR VALG field1 , felt2 , field3
FRA
HVOR field4 < = @ limitval
2
Åpne markøren for behandling ved hjelp av denne T -SQL syntaks : en
oPEN
3 Fetch rader fra den åpne markøren for behandling, siden det er en lese ( velg) markøren. Erklærer variabler som kreves for å lagre verdier av felt i den aktuelle markøren rad. T -SQL syntaks for å hente markøren rader er som følger : en
HENT NESTE FRA INTO @ var_fld1 , @ var_fld2 , @ var_fld3
mens @ @ fetch_status == 0
begynne
--- < prosess nåværende markøren rad her >
HENT NESTE FRA INTO @ var_fld1 , @ var_fld2 , @ var_fld3
slutten
4
Legg erklæringen og gjennomføring av andre eller indre markøren i hente løkken på forrige eller ytre markør som følger : en
- ytre markør hente sløyfe
mens @ @ fetch_status == 0
begynne
< prosess gjeldende rad av ytre markøren her >
- Tid til å erklære den indre markøren - hekkende begynner
DECLARE inner_cursor CURSOR
fOR SELECT X , Y, Z , ....
FRA tabell1 , table2 , ...
HVOR
OPEN inner_cursor
HENT NESTE FRA inner_cursor INTO @ varX , @ variere , @ VARZ ...
mens @ @ fetch_status == 0
begynne - indre markør hente sløyfe
-
- få neste p
hENT nESTE FRA inner_cursor INTO @ varX , @ variere , @ VARZ ...
end - indre markør hente sløyfe
end - ytre markør hente sløyfe