PL/SQL-Markøren FOR-LØKKE

0 Comments

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


Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *