Oracle - A kurzor életciklusa
Intro
A kurzorok életciklusának és működésének jó ismerete lehetővé teszi az SQL lekérdezéseket futtató alkalmazások optimalizálását.
Ne feledje, hogy : "A kurzor olyan eljárás, amely lehetővé teszi egy" SELECT utasítás "nevének hozzárendelését, és az SQL utasításon belüli információk"
Elkezdeni
A kurzor végrehajtásának lépései:
- A kurzor megnyitása: a kurzort a szerverfolyamat (a szerver oldalán) privát memóriájában hozzárendeli a munkamenethez (UGA User Global Area). Ne feledje, hogy az SQL lekérdezés nem kapcsolódik a kurzorhoz.
- Kurzor elérési útja: SQL-lekérdezés kapcsolódik hozzá. A kérelem útvonalának ábrázolása, beleértve annak megvalósítási tervét is, amely leírja, hogy az SQL-motor hogyan hajtja végre az SQL-utasítást, a könyvtár gyorsítótárában kerül be a megosztott medencébe . Az UGA struktúrája frissül, hogy a kurzorhoz tartozó területet tárolja a könyvtár gyorsítótárában.
- A kimeneti változók meghatározása: az SQL lekérdezés adatokat ad vissza, így meg kell határozni az ehhez kapcsolódó változókat. Ez a meghatározás a DELETE, INSERT és UPDATE kérések esetén is szükséges (a RETURNING záradék használatával).
- A bemeneti változók összekapcsolása: ha az SQL lekérdezés változókat használ, azokat be kell nyújtani. A linken nem történik ellenőrzés. Ha érvénytelen értékek kerülnek átadásra, futási hiba lép fel.
- A kurzor végrehajtása: ebben a szakaszban az SQL végrehajtásra kerül. Az adatbázis-motortól függően a tényleges végrehajtás fázisa a letöltés időpontjában elhalasztható.
- Kurzor lekérése (tartalom helyreállítása): Ha az SQL lekérdezés eredményt ad vissza, akkor az helyreáll. Általában ebben a szakaszban történik a kezelés.
- A kurzor bezárása : az UGA erőforrásaihoz tartozó kurzor automatikusan felszabadul. A kurzor a könyvtár gyorsítótárában nem törlődik a lehetséges jövőbeni felhasználásokra válaszul.