PL/SQL Markør FOR-LØKKEN

0 Comments

Resumé: i denne tutorial vil du lære at bruge PL/SQL markøren FOR LOOP erklæring for at hente og behandle alle optage fra en markør.

Introduktion til PL/SQL markør FOR LOOP-sætningen

markøren FOR LOOP erklæring er en elegant forlængelse af det numeriske FOR LOOP erklæring.

det numeriske FOR LOOP udfører en sløjfes krop en gang for hver heltalsværdi i et bestemt område., Tilsvarende udfører markøren FOR LOOP loopens krop en gang for hver række, der returneres af forespørgslen, der er knyttet til markøren.

En god funktion af markøren FOR LOOP erklæring er, at det giver dig mulighed for at hente hver række fra markøren uden manuelt styre udførelsen cyklus, dvs, OPEN FETCH og CLOSE.

markøren FOR LOOP opretter implicit sit loopindeks som en postvariabel med den rækketype, som markøren vender tilbage i, og åbner derefter markøren.,

i hver loop-iteration henter markøren FOR LOOP – erklæring en række fra det resultat, der er indstillet til dets loopindeks. Hvis der ikke er nogen række at hente, lukker markøren FOR LOOP markøren.

markøren er også lukket, hvis en erklæring inde i sløjfen overfører kontrol uden for sløjfen, f.eks. EXITog GOTO, eller rejser en undtagelse.,

Det illustrerer følgende syntaks for markøren FOR LOOP erklæring:

1) post

record er navnet på indekset for, at markøren FOR LOOP redegørelse erklærer implicit som en %ROWTYPE optag variabel af typen af markøren.

variablenrecord er lokal for markørenFOR LOOP erklæring. Det betyder, at du kun kan henvise til det inde i løkken, ikke udenfor., Når markøren FOR LOOP udsagnsudførelse slutter, bliver variablen record udefineret.2) cursor_name

cursor_name er navnet på en eksplicit markør, der ikke åbnes, når sløjfen starter.

Bemærk, at der udover markøren navn, kan du bruge en SELECT erklæring, som vist nedenfor:

I dette tilfælde, markøren FOR LOOP erklærer, åbner, henter fra, og lukker en implicit markøren., Den implicitte markør er dog intern; derfor kan du ikke henvise til den.

Bemærk, at Oracle-Database, der automatisk optimerer en markør FOR LOOP for at arbejde på samme måde som en BULK COLLECT forespørgsel. Selvom din kode ser ud som om den hentede en række ad gangen, henter Oracle Database flere rækker ad gangen og giver dig mulighed for at behandle hver række individuelt.

PL/SQL markør FOR-LØKKE eksempler

Lad os se på nogle eksempler på brug af markøren FOR LOOP erklæring for at se, hvordan det virker.,

A) PL/SQL markør FOR-LØKKE eksempel

følgende eksempel erklærer en eksplicit markør og bruger det i markøren FOR LOOP erklæring.

i dette eksempel henter SELECT sætning af markøren data fra products tabel. Sætningen FOR LOOP åbnede, hentede hver række i resultatsættet, viste produktinformationen og lukkede markøren.,

B) Cursor FOR LOOP med et SELECT statement eksempel

følgende eksempel svarer til eksemplet ovenfor, men bruger en forespørgsel i en cursor FOR LOOP statement.

i denne vejledning har du lært, hvordan du bruger PL/S .l-markøren FOR LOOP til at hente data fra en markør.

  • var denne vejledning nyttig?
  • YesNo


Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *