PL/ SQL Blok: STRUCTURE, Syntax, ANONYMOUS Příklad
Co je PL/SQL blok?
V PL/SQL se kód nespouští v jednořádkovém formátu, ale vždy se provádí seskupením kódu do jednoho prvku zvaného Blocks. V tomto tutoriálu se o těchto blocích dozvíte.
Bloky obsahují jak PL/SQL, tak i SQL instrukci. Všechny tyto instrukce budou provedeny jako celek, nikoli pouze jedna instrukce najednou.
Bloková struktura
Bloky PL/SQL mají předem definovanou strukturu, do které má být kód seskupen. Níže jsou uvedeny různé části bloků PL/SQL.
- Oddíl prohlášení
- Sekce provedení
- Sekce manipulace s výjimkami
Níže uvedený obrázek ilustruje různé bloky PL/SQL a jejich pořadí sekcí.
Oddíl prohlášení
Toto je první část bloků PL/SQL. Tato část je volitelnou součástí. Toto je sekce, ve které bude deklarována deklarace proměnných, kurzorů, výjimek, podprogramů, instrukcí pragma a kolekcí, které jsou v bloku potřeba. Níže je uvedeno několik dalších charakteristik této části.
- Tato konkrétní část je volitelná a lze ji přeskočit, pokud nejsou potřeba žádné deklarace.
- Toto by měla být první sekce v bloku PL/SQL, pokud existuje.
- Tato část začíná klíčovým slovem 'DECLARE' pro spouštěče a anonymní blokování. U ostatních podprogramů toto klíčové slovo nebude přítomno. Místo toho část za definicí názvu podprogramu označuje sekci deklarace.
- Po této části by měla vždy následovat sekce provedení.
Prováděcí sekce
Prováděcí část je hlavní a povinná část, která ve skutečnosti provádí kód, který je v ní napsán. Vzhledem k tomu, PL / SQL očekává spustitelné příkazy z tohoto bloku, nemůže to být prázdný blok, tj. měl by obsahovat alespoň jeden platný řádek spustitelného kódu. Níže je uvedeno několik dalších charakteristik této části.
- Může obsahovat kód PL/SQL i kód SQL.
- To může obsahovat jeden nebo více bloků uvnitř jako vnořený blok.
- Tato část začíná klíčovým slovem 'BEGIN'.
- Po této části by mělo následovat buď „KONEC“ nebo sekce Zpracování výjimek (pokud existuje)
Sekce vyřizování výjimek
Výjimka je nevyhnutelná v programu, který se vyskytuje za běhu a pro zpracování tohoto Oracle poskytla sekci zpracování výjimek v blocích. Tato sekce může také obsahovat příkazy PL/SQL. Toto je volitelná část bloků PL/SQL.
- Toto je část, kde se zpracovává výjimka vyvolaná v bloku provádění.
- Tato sekce je poslední částí bloku PL/SQL.
- Ovládání z této sekce se nikdy nemůže vrátit do bloku provádění.
- Tato část začíná klíčovým slovem 'EXCEPTION'.
- Za touto částí by mělo vždy 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ělo vždy následovat '/', které překladači odešle informaci o konci bloku.
Typy PL/SQL bloku
Bloky PL/SQL jsou převážně dvou typů.
- Anonymní bloky
- Pojmenované bloky
Anonymní bloky
Anonymní bloky jsou bloky PL/SQL, které nemají přiřazeny žádné názvy. Musí být vytvořeny a použity ve stejné relaci, protože nebudou uloženy na serveru jako databázové objekty.
Protože se nemusí ukládat do databáze, nepotřebují žádné kompilační kroky. Jsou psány a spouštěny přímo a kompilace a provádění probíhají v jediném procesu.
Níže je několik dalších charakteristik anonymních bloků.
- Tyto bloky nemají zadaný žádný referenční název.
- Tyto bloky začínají klíčovým slovem 'DECLARE' nebo 'BEGIN'.
- Protože tyto bloky nemají žádný referenční název, nelze je uložit pro pozdější účely. Musí být vytvořeny a provedeny ve stejné relaci.
- Mohou volat další pojmenované bloky, ale volání anonymního bloku není možné, protože nemá žádnou referenci.
- Může mít vnořený blok, který může být pojmenovaný nebo anonymní. Může být také vnořen do libovolných bloků.
- Tyto bloky mohou mít všechny tři sekce bloku, ve kterých je sekce provádění povinná, další dvě sekce jsou volitelné.
Pojmenované bloky
Pojmenované bloky mají specifický a jedinečný název. Jsou uloženy jako databázové objekty na serveru. Protože jsou k dispozici jako databázové objekty, lze na ně odkazovat nebo je používat, pokud jsou na serveru přítomny. Proces kompilace pro pojmenované bloky probíhá samostatně při jejich vytváření jako databázových objektů.
Níže je uvedeno několik dalších charakteristik pojmenovaných bloků.
- Tyto bloky lze volat z jiných bloků.
- Struktura bloku je stejná jako u anonymního bloku, ale nikdy nezačíná klíčovým slovem 'DECLARE'. Místo toho bude začínat klíčovým slovem 'CREATE', které instruuje kompilátor, aby jej vytvořil jako databázový objekt.
- Tyto bloky lze vnořit do jiných bloků. Může 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íme v tématech „Postup“ a „Funkce“ v pozdějším tutoriálu.
Shrnutí
Po tomto tutoriálu byste si měli být vědomi bloků PL/SQL a jejich typů, různých sekcí bloků a jejich použití. Podrobný popis jmenovaných bloků PL/SQL bude popsán v pozdějším tutoriálu.