PL / SQL kurzor hurok
ö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