Úvod do datových typů PL / SQL
Často je nutné provádět stejné dotazy SQL vícekrát a uspokojit tuto potřebu Oracle přichází s PL / SQL na počátku 90. let. Je vyvinut pro zvýšení schopností SQL. Je vložen do databáze Oracle. PL / SQL je rozšíření jazyka strukturovaného dotazu v databázovém systému Oracle. Jde o procedurální jazyk, který se skládá ze tří částí deklarativní část, která může přijímat libovolný počet parametrů, spustitelnou část, která se skládá z dotazů SQL a zpracování výjimek.
PL / SQL je uložen v databázi ve zkompilované formě a lze jej v kódu označit svým jménem. PL / SQL umožňuje vývojáři manipulovat s daty pomocí jakékoli logiky rozhodování, iterace a mnoha dalších funkcí podporovaných procedurálním programovacím jazykem.
Klíčové vlastnosti PL / SQL
Klíčové vlastnosti PL / SQL jsou uvedeny níže:
- PL / SQL umožňuje vývojáři provádět libovolný počet dotazů v jednom bloku pomocí jediného příkazu.
- PL / SQL může fungovat jako procedura, funkce, spouštěče a typy a jsou uloženy v databázi a mohou být aplikovány libovolným počtem aplikací.
- Na rozdíl od SQL je v PL / SQL možné zpracování chyb.
- PL / SQL vrací jednu skalární hodnotu.
Datové typy PL / SQL
Jako každý jiný jazyk, PL / SQL má také datové typy. pojďme se podívat na některé typy dat definované v PL / SQL
Datový typ PL / SQL |
Popis |
BINARY_INTEGER | Přijímá celočíselná numerická data, celé číslo se znaménkem v rozsahu od -2 147 474 3 488 do 2 147 483 647 a je reprezentováno 32 bity |
KAPKA | Přijímá binární data |
BLOB (n) | Binární data velkých objektů, kde je rozsah n mezi 1 až 2 147 483 647 |
BOOLEAN | Přijímá buď true, nebo false (logické hodnoty) |
CHAR | Přijímá řetězcová data pevné délky 1 |
CHAR (n) | Řetězcová data délky n |
CHAR VARYING (n) | Data řetězce znaků proměnné délky, kde n je maximální limit |
CHARAKTER | Je to řetězec znaků s pevnou délkou a maximální velikost může být 32 767 bajtů. |
CHARAKTER (n) | Řetězec znaků s proměnnou délkou s maximální velikostí n |
DATUM | Používá se k ukládání dat data a času, která obsahují pole jako rok, měsíc, den, hodinu, minutu, sekundu a mnoho dalších. |
DESETINNÝ | Přijímá desetinná data s maximální přesností 38 desetinných míst. |
DVOJNÁSOBEK | Číslo s pohyblivou čárkou s dvojitou přesností |
PLOVÁK | Typ s pohyblivou řádovou čárkou s maximální přesností 126 bitů |
INT | jedná se o čtyřbajtová celočíselná numerická data |
CELÉ ČÍSLO | jedná se o čtyřbajtová celočíselná numerická data |
Příklady datových typů PL / SQL
Doposud jsme viděli různé datové typy dostupné v PL / SQL, podívejme se na příklad a uvidíme, jak můžeme vytvářet a provádět uložené procedury v PL / SQL
Procedury v PL / SQL jsou podprogram, který se skládá z příkazů SQL, postupy v Oracle jsou uloženy jako databázový objekt a mají jedinečný název, podle něhož je možné na něj odkazovat. Procedura může mít vnořený blok, který umožňuje vývojáři provádět jakékoli logické a aritmetické operace s daty.
Pojďme se podívat na syntaxi uložené procedury
Syntax:
VYTVOŘENÍ NEBO VÝMĚNA POSTUPU
(
..
.
)
( IS | AS )
BEGIN
EXCEPTION
END;
(
..
.
)
( IS | AS )
BEGIN
EXCEPTION
END;
Vysvětlení syntaxe:
- Vytvoření nebo nahrazení klíčových slov dá kompilátoru pokyn, aby vytvořil databázový objekt s názvem uvedeným v proceduře, název procedury musí být jedinečný, jinak kompilátor vyvolá chybu.
- Nyní, když máte představu o syntaxi procedury, pojďme napsat velmi jednoduchou uloženou proceduru a pochopit její různé komponenty.
- Jako každý jiný programovací jazyk, začneme velmi jednoduchým programem Hello World. Tato uložená procedura vezme jméno jako vstup a zobrazí výsledek jako Hello World od
VYTVOŘENÍ NEBO VÝMĚNA POSTUPU Print_Message (p_name IN VARCHAR2)
Kód:
IS
BEGIN
dbms_output.put_line ('Hello World from '|| p_name);
END;
/
EXEC Print_Message ('Mohit');
Vysvětlení kódu:
- Zde první řádek obsahuje klíčové slovo Vytvořit nebo nahradit, které dá kompilátoru pokyn, aby vytvořil uloženou proceduru s názvem Print_Message, která vezme Varchar2 jako vstup nebo nahradí stávající uloženou proceduru se stejným názvem.
- Řádek dbms_output.put_line spojí Hello World ze zprávy se vstupem, který předáte proceduře a zobrazí ji na konzole.
- K vyvolání uložené procedury se používá klíčové slovo EXEC, následované hodnotami parametrů ve stejných typech dat, které jsou definovány v uložené proceduře.
Funkce v PL / SQL
Funkce v PL / SQL je velmi podobná uložené proceduře, jediným velkým rozdílem je, že funkce by měla mít návratovou hodnotu. Měla by buď vrátit hodnotu nebo vyvolat výjimku. Podívejme se na některé z vlastností funkcí v PL / SQL
- Funkce, které se používají hlavně pro účely manipulace s daty, jako je provádění základních logických a aritmetických výpočtů.
- Typická struktura funkce má 3 části, tj. Deklarační část, vykonávací část a zpracování výjimek.
- Pokud funkce neobsahuje žádný příkaz DML, lze jej vyvolat příkazem select.
Podívejme se na syntaxi funkcí
Syntax:
VYTVOŘENÍ NEBO VÝMĚNA FUNKCE
(
)
RETURN
( IS | AS )
BEGIN
EXCEPTION
END;
(
)
RETURN
( IS | AS )
BEGIN
EXCEPTION
END;
Vysvětlení syntaxe:
- Vytvořte klíčové slovo funkce, které dá kompilátoru pokyn k vytvoření funkce, pokud již není k dispozici. Typ dat návratu je povinný, název funkce by měl být opět jedinečný.
- Blok manipulace s výjimkami je volitelný, ale vždy je vhodné jej mít.
Závěr
Nyní pojďme shrnout shrnutí klíčových bodů, které jsme diskutovali v tomto článku, PL / SQL je kompilovaný blok příkazů SQL, které jsou uloženy v databázi jako objekt. Tyto objekty mohou být typu uložené procedury, funkce a typy. Viděli jsme různé typy dat, které jsou nabízeny v PL / SQL. Naučíme se základní strukturu uložených procedur a funkcí v PL / SQL a jejich charakteristiku.
Doporučené články
Toto je průvodce typy dat PL / SQL. Zde diskutujeme příklady s vysvětlením kódu a klíčovými funkcemi pl / sql spolu s funkcemi v pl / sql. Další informace naleznete také v následujících článcích -
- Příkaz CASE v PL / SQL
- TeraData vs Oracle
- Co dělají vědci v oblasti dat?
- Význam kurzoru v PL / SQL
- Throw vs Throw | 5 hlavních rozdílů, které byste měli vědět
- Různé typy dat SQL s příklady