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