PL/SQL Kurzor PRO SMYČKY
Shrnutí: v tomto tutoriálu, se dozvíte, jak používat PL/SQL kurzor FOR LOOP
prohlášení načíst a zpracovat všechny záznamy od kurzoru.
Úvod do PL/SQL kurzor PRO SMYČCE prohlášení
kurzor FOR LOOP
prohlášení je elegantní rozšíření číselné FOR LOOP
prohlášení.
číselné FOR LOOP
provede tělo smyčky jednou za každou celočíselnou hodnotu v určeném rozsahu., Podobně kurzor FOR LOOP
provede tělo smyčky jednou za každý řádek vrácený dotazem spojeným s kurzorem.
pěkné funkce kurzoru FOR LOOP
prohlášení je, že umožňuje načíst každý řádek od kurzoru bez ruční řízení provádění cyklu, tj. OPEN
FETCH
CLOSE
.
kurzor FOR LOOP
implicitně vytvoří index smyčky jako proměnnou záznamu s typem řádku, ve kterém se kurzor vrátí, a poté otevře kurzor.,
v každé iteraci smyčky příkaz cursorFOR LOOP
načte řádek z výsledku nastaveného do indexu smyčky. Pokud není k dispozici žádný řádek, kurzor FOR LOOP
zavře kurzor.
kurzor je uzavřen také v případě prohlášení uvnitř smyčky kontrolu převodů mimo smyčky, např. EXIT
GOTO
, nebo vyvolává výjimku.,
následující příklad ilustruje syntaxi kurzor FOR LOOP
prohlášení:
1) záznam
record
je název indexu, který kurzor FOR LOOP
prohlášení prohlašuje, implicitně jako %ROWTYPE
záznam proměnná typu kurzor.
record
proměnnou místní kurzor FOR LOOP
prohlášení. To znamená, že jej můžete odkazovat pouze uvnitř smyčky, nikoli venku., Po kurzor FOR LOOP
provedení příkazu skončí, record
proměnná výraz stává nedefinovaným.
2) cursor_name
cursor_name
je název explicitního kurzoru, který se neotevře při spuštění smyčky.
Všimněte si, že kromě toho, název kurzoru, můžete použít SELECT
prohlášení, jak je uvedeno níže:
V tomto případě, kurzor FOR LOOP
prohlašuje, otevře, načte z, a zavře implicitní kurzor., Implicitní kurzor je však interní, proto jej nemůžete odkazovat.
Všimněte si, že Databáze Oracle automaticky optimalizuje kurzor FOR LOOP
pracovat podobně jako BULK COLLECT
dotaz. Přestože váš kód vypadá, jako by přinesl jeden řádek najednou, databáze Oracle načte více řádků najednou a umožňuje zpracovávat každý řádek jednotlivě.
PL / SQL kurzor pro příklady smyček
podívejme se na některé příklady použití kurzoru FOR LOOP
, abychom zjistili, jak to funguje.,
) PL/SQL kurzor PRO SMYČCE příklad
následující příklad deklaruje explicitní kurzor a používá to v kurzoru FOR LOOP
prohlášení.
V tomto příkladu SELECT
prohlášení kurzor načte data z products
tabulka. FOR LOOP
prohlášení otevřel, přitažené za vlasy, každý řádek v sadě výsledků, zobrazí informace o produktu, a zavřel kurzor.,
B) Kurzor PRO SMYČKU s SELECT příklad:
následující příklad je ekvivalentní příkladu výše, ale používá dotaz v kurzor FOR LOOP
prohlášení.
v tomto tutoriálu jste se naučili používat kurzor PL/SQL FOR LOOP
pro načtení dat z kurzoru.
- byl tento tutoriál užitečný?
- YesNo