Markører er en struktur, forudsat i programmerbare versioner af Structured Query Language ( SQL) , såsom Sybase eller Microsoft SQL Server Transact- SQL. Definer en markør for en udvalgt eller opdatere SQL-sætning på en eller flere tabeller. Markøren har et navn, som du kan bruge til at henvise til , åbne og lukke cursoren eller hente rækker fra markøren sæt . Markører anvendes, når hver række i sættet behov forarbejdning eller dens værdier anvendes i programmet variabler . Når en ny markør er erklæret i løkken , der behandler hver række en markør , er den nye inderste markør indlejret i det gamle ydre markør. Instruktioner
1
Erklær en markør for en simpel select erklæring med følgende T-SQL syntaks : Hej
DECLARE CURSOR
FOR SELECT felt1 , field2 , området3
FRA
WHERE field4 <= @ limitval
2
Åbn markøren til forarbejdning ved hjælp af denne T-SQL syntaks : Hej
oPEN
3 Fetch rækker fra det åbne markøren til forarbejdning, da det er en læse (vælg) markør. Erklær variabler, der kræves til at gemme værdier i felterne i den aktuelle cursor række. T -SQL syntaks til at hente markøren rækker er som følger : Hej
FETCH NEXT FROM INTO @ var_fld1 @ var_fld2 @ var_fld3
mens @ @ fetch_status == 0
begynde
--- < proces markørens nuværende række her >
FETCH NEXT FROM INTO @ var_fld1 @ var_fld2 @ var_fld3 < br > ende
4
Tilføj erklæringen og udførelse af anden eller indre markøren i hente løkke af forrige eller ydre markør som følger : Hej
- ydre markør hente loop
mens @ @ fetch_status == 0
begynder
< proces nuværende række af ydre markør her >
- Tid til at erklære den indre markør - nesting begynder
DECLARE inner_cursor cURSOR
fOR SELECT X, Y , Z, ....
FRA Tabel1 , Tabel2 , ...
HVOR
OPEN inner_cursor
FETCH NEXT FROM inner_cursor INTO @ varX @ Vary, @ VARZ ...
mens @ @ fetch_status == 0
begynder - indre cursor hente loop
-
- få næste række
fETCH NEXT FROM inner_cursor INTO @ varX @ Vary, @ VARZ ...
ende - indvendig cursor hente loop
ende - ydre markør hente loop
< br >