PL/SQL-Markøren FOR-LØKKE
Oppsummering: i denne opplæringen vil du lære hvordan å bruke PL/SQL-markøren FOR LOOP
uttalelse for å hente inn og behandle hver post fra en markør.
Introduksjon til PL/SQL-markøren FOR LOOP-uttrykket
markøren FOR LOOP
uttalelse er en elegant forlengelse av numeriske FOR LOOP
uttalelse.
Det numeriske FOR LOOP
utfører kroppen av en løkke, en gang for alle heltall i et angitt område., På samme måte markøren FOR LOOP
utfører hoveddelen av loop én gang for hver rad returneres av spørringen forbundet med markøren.
En fin funksjon for markøren FOR LOOP
statement er at det gir deg mulighet til å hente hver rad fra en markør uten å manuelt administrere gjennomføringen syklus, dvs., OPEN
, FETCH
, og CLOSE
.
markøren FOR LOOP
implisitt skaper sin loop-indeksen som en oppføring variabel med rad skriv inn der markøren tilbake, og åpner deretter markøren.,
I hver sløyfe iterasjon, markøren FOR LOOP
uttalelse henter en rad fra resultat i sin loop-indeksen. Hvis det ikke rad til for å hente markøren FOR LOOP
lukker markøren.
markøren er også lukket hvis en uttalelse inne i løkken overfører kontroll utenfor løkken, f.eks., EXIT
og GOTO
, eller viser et unntak.,
følgende illustrerer syntaksen for markøren FOR LOOP
uttalelse:
1) posten
record
er navnet på indeksen som markøren FOR LOOP
uttalelse erklærer implisitt som en %ROWTYPE
spill inn variabel av type markøren.
record
variabel er lokale for markøren FOR LOOP
uttalelse. Det betyr at du kan bare referere til det inne i løkken, ikke utenfor., Etter markøren FOR LOOP
uttalelse gjennomføring ender, record
variabel blir udefinert.
2) cursor_name
cursor_name
er navnet på en eksplisitt markøren som ikke er åpnet når løkken starter.
Merk som i tillegg til markøren navn, kan du bruke en SELECT
uttalelse som vist nedenfor:
I dette tilfellet, markøren FOR LOOP
erklærer, åpnes henter fra, og lukker en implisitt markøren., Imidlertid implisitt markøren er intern, og det er derfor du ikke kan referere til den.
Merk at Oracle Database automatisk optimaliserer en markør FOR LOOP
å jobbe på samme måte til en BULK COLLECT
søk. Selv om koden ser ut som om det hentet inn en rad i en tid, Oracle Database henter inn flere rader av gangen og gjør det mulig å behandle hver rad individuelt.
PL/SQL-markøren FOR-LØKKE eksempler
La oss se på noen eksempler på bruk markøren FOR LOOP
uttalelse for å se hvordan det fungerer.,
A) PL/SQL-markøren FOR-LØKKE eksempel
følgende eksempel erklærer en eksplisitt markøren og bruker det i markøren FOR LOOP
uttalelse.
I dette eksempelet SELECT
uttalelse av markøren henter data fra products
tabell. FOR LOOP
uttalelse åpnet, hentet hver rad i resultatsettet, vises produktinformasjon, og lukket markøren.,
B) Markøren FOR-LØKKE med en SELECT-setning eksempel
følgende eksempel tilsvarer eksemplet ovenfor, men bruker en spørring i en markør FOR LOOP
uttalelse.
I denne opplæringen, har du lært hvordan du bruker PL/SQL-markøren FOR LOOP
for å hente data fra en markør.
- Var denne opplæringen nyttig?
- YesNo