PL / SQL kurzor hurok

0 Comments

összefoglaló: ebben a bemutatóban, akkor megtanulják, hogyan kell használni a PL / SQL kurzor FOR LOOP utasítás letölteni és feldolgozni minden rekordot a kurzort.

Bevezetés a PL / SQL kurzor hurok nyilatkozat

a kurzor FOR LOOP nyilatkozat egy elegáns kiterjesztése a numerikus FOR LOOP nyilatkozat.

a numerikus FOR LOOP végrehajtja a test egy hurok egyszer minden egész érték egy meghatározott tartományban., Hasonlóképpen ,a kurzor FOR LOOP végrehajtja a hurok testét egyszer a Kurzorhoz társított lekérdezés által visszaküldött sorokra.

egy szép tulajdonsága a kurzor FOR LOOP nyilatkozat, hogy lehetővé teszi, hogy hozza minden sorban a kurzor nélkül manuálisan kezeli a végrehajtási ciklus azaz, OPEN, , és CLOSE.

a kurzor FOR LOOP implicit módon létrehozza a hurok indexét rekordváltozóként azzal a sortípussal, amelyben a kurzor visszatér, majd megnyitja a kurzort.,

minden hurok iterációban a kurzor FOR LOOP utasítás lekér egy sort az eredményből a hurok indexébe. Ha nincs sor a letöltéshez, a kurzor FOR LOOP bezárja a kurzort.

A kurzor is zárt, ha egy nyilatkozatot, bent a hurok transzferek irányítani a cikluson kívül, pl. EXIT vagy GOTO, vagy felvet egy kivétel.,

a következő szemlélteti a szintaxis a kurzor FOR LOOP nyilatkozat:

1) rekord

a record a neve az index, hogy a kurzor FOR LOOP a nyilatkozat implicit módon %ROWTYPE a kurzor típusának rekordváltozója.

arecord változó helyi a kurzorFOR LOOP utasítás. Ez azt jelenti, hogy csak a hurokban hivatkozhat rá, nem kívül., Miután a kurzor FOR LOOP utasítás végrehajtása véget ér, a record változó lesz meghatározatlan.

2) cursor_name

a cursor_name egy explicit kurzor neve, amely nem nyílik meg a hurok indításakor.

vegye figyelembe, hogy a kurzor neve mellett egySELECT utasítás is használható az alábbiak szerint:

ebben az esetben a kurzorFOR LOOP kijelenti, megnyitja, lekéri, majd bezárja az implicit kurzort., Az implicit kurzor azonban belső, ezért nem hivatkozhat rá.

vegye figyelembe, hogy az Oracle Database automatikusan optimalizálja a kurzort FOR LOOP hogy a BULK COLLECT lekérdezéshez hasonlóan működjön. Bár a kód úgy néz ki, mintha lekérte egy sorban egy időben, Oracle Database lekér több sort egy időben, és lehetővé teszi, hogy feldolgozza az egyes sorok külön-külön.

PL / SQL kurzor hurok példákhoz

nézzük meg néhány példát a kurzor használatára FOR LOOP utasítás a működés megtekintéséhez.,

a) PL/SQL cursor for LOOP example

a következő példa explicit kurzort deklarál, és a kurzorban FOR LOOP utasítás.

ebben a példában aSELECT utasítás a kurzor beolvassa az adatokat a products táblázat. AFOR LOOP utasítás megnyitva, lekérve az eredményhalmaz minden sorát, megjelenítve a termékinformációkat, majd bezárva a kurzort.,

B) kurzor hurok egy kiválasztott utasítás példa

a következő példa egyenértékű a fenti példával, de használ egy lekérdezést a kurzor FOR LOOP utasítás.

ebben az oktatóanyagban megtanulta, hogyan kell használni a PL/SQL kurzort FOR LOOP adatok lekérése a kurzorról.

  • hasznos volt ez a bemutató?
  • YesNo


Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük