PL/SQL blok: struktura, syntaxe a anonymní příklad
⚡ Chytré shrnutí
Blok PL/SQL je základní jednotka, která seskupuje instrukce PL/SQL a SQL, aby se prováděly společně, a ne řádek po řádku. Každý blok má sekci pro deklaraci, provádění a ošetření výjimek a bloky jsou buď anonymní, nebo pojmenované.

Co je to blok v PL/SQL?
V PL/SQL se kód neprovádí v jednořádkovém formátu; vždy se provádí pomocí skupiny.ping kód do jednoho prvku nazývaného blok. V tomto tutoriálu se o těchto blocích dozvíte.
Bloky obsahují instrukce PL/SQL i SQL. Všechny tyto instrukce se provádějí jako celek, nikoli po jednotlivých instrukcích.
Bloková struktura
Bloky PL/SQL mají předdefinovanou strukturu, ve které je kód seskupen. Níže jsou uvedeny různé sekce bloku PL/SQL:
- Oddíl prohlášení
- Sekce provedení
- Sekce manipulace s výjimkami
Obrázek níže znázorňuje různé sekce bloků PL/SQL a jejich pořadí.
Oddíl prohlášení
Toto je první sekce bloku PL/SQL a je volitelná. Je to sekce, ve které se deklarují proměnné, kurzory, výjimky, podprogramy, instrukce pragma a kolekce potřebné v bloku. Několik dalších charakteristik této části:
- Tato sekce je volitelná a lze ji přeskočit, pokud nejsou potřeba žádné deklarace.
- Měla by to být první sekce v bloku PL/SQL, pokud je přítomna.
- Pro spouštěče a anonymní bloky začíná klíčovým slovem 'DECLARE'. Pro ostatní podprogramy toto klíčové slovo není přítomno; místo toho část za názvem podprogramu označuje sekci deklarace.
- Vždy by za ním měla následovat část s provedením.
Prováděcí sekce
Prováděcí část je hlavní a povinná část, která ve skutečnosti spouští kód napsaný v ní. Protože PL / SQL očekává spustitelné příkazy, tento blok nemůže být prázdný a musí mít alespoň jeden platný řádek spustitelného souboru. Několik dalších charakteristik této části:
- Může obsahovat jak kód PL/SQL, tak kód SQL.
- Může obsahovat jeden nebo více bloků uvnitř jako vnořené bloky.
- Začíná to klíčovým slovem „BEGIN“.
- Mělo by za ním následovat buď 'END', nebo sekce pro ošetření výjimek, pokud je přítomna.
Sekce vyřizování výjimek
Výjimky jsou nevyhnutelné chyby, ke kterým dochází za běhu, a jejich ošetření Oracle poskytuje sekci pro zpracování výjimek v blocích. Tato sekce může také obsahovat příkazy PL/SQL a je volitelná.
- Toto je sekce, kde se ošetřuje výjimka vyvolaná v prováděcím bloku.
- Je to poslední část bloku PL/SQL.
- Ovládání z této sekce se nikdy nemůže vrátit do bloku provádění.
- Začíná to klíčovým slovem „VÝJIMKA“.
- Vždy by mělo následovat klíčové slovo „END“.
Klíčové slovo 'END' označuje konec bloku PL/SQL.
Syntaxe bloku PL/SQL
Níže je uvedena syntaxe struktury bloku PL/SQL.
DECLARE --optional <declarations> BEGIN --mandatory <executable statements. At least one executable statement is mandatory> EXCEPTION --optional <exception handles> END; --mandatory /
Poznámka: Za blokem by měl vždy následovat znak '/', který odešle kompilátoru informaci o konci bloku.
Typy bloků PL/SQL
Bloky PL/SQL jsou převážně dvojího typu:
- Anonymní bloky
- Pojmenované bloky
Oba jsou níže stručně porovnány, než je každý z nich popsán.
| Vzhled | Anonymní blok | Pojmenovaný blok |
|---|---|---|
| Má jméno | Ne | Ano |
| Uloženo v databázi | Ne | Ano, jako objekt |
| Začíná s | PROHLÁSIT nebo ZAČÍT | CREATE |
| Opakované použití | Pouze stejná relace | Volné kdykoli |
Anonymní bloky
Anonymní bloky jsou bloky PL/SQL, které nemají přiřazen žádný název. Musí být vytvořeny a použity ve stejné relaci, protože nejsou uloženy na serveru jako databázové objekty.
Protože nejsou uloženy v databázi, nevyžadují žádný samostatný krok kompilace. Jsou zapsány a spuštěny přímo a kompilace a spuštění probíhají v jednom procesu. Několik dalších charakteristik:
- Tyto bloky nemají žádný referenční název.
- Začínají klíčovým slovem „DEKLARUJ“ nebo „ZAČÍT“.
- Protože nemají referenční název, nelze je uložit pro pozdější použití a musí být vytvořeny a spuštěny ve stejné relaci.
- Mohou volat jiné pojmenované bloky, ale volání anonymního bloku není možné, protože na něj nemá žádný odkaz.
- Mohou obsahovat vnořený blok, který je pojmenovaný nebo anonymní, a mohou být také vnořeny do libovolného bloku.
- Mohou mít všechny tři části, z nichž část o provedení je povinná a další dvě jsou volitelné.
Pojmenované bloky
Pojmenované bloky mají specifický a jedinečný název. Jsou uloženy jako databázové objekty na serveru, takže se na ně lze odkazovat nebo je používat, dokud jsou přítomny. Proces kompilace pojmenovaných bloků probíhá samostatně, když jsou vytvořeny jako databázové objekty. Několik dalších charakteristik:
- Tyto bloky lze volat z jiných bloků.
- Struktura bloku je stejná jako u anonymního bloku, až na to, že nikdy nezačíná řetězcem 'DECLARE'. Místo toho začíná řetězcem 'CREATE', který dává kompilátoru pokyn k vytvoření bloku jako databázového objektu.
- Tyto bloky mohou být vnořeny do jiných bloků a mohou také obsahovat vnořené bloky.
- Pojmenované bloky jsou v zásadě dvou typů:
- Postup
- funkce
Více se o těchto pojmenovaných blocích dozvíte v průvodci postupy a funkce.


