Datové typy PL / SQL - Funkce a funkce PL / SQL s příklady

Obsah:

Anonim

Ú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_INTEGERPř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
KAPKAPřijímá binární data
BLOB (n)Binární data velkých objektů, kde je rozsah n mezi 1 až 2 147 483 647
BOOLEANPřijímá buď true, nebo false (logické hodnoty)
CHARPř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
CHARAKTERJe 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
DATUMPouží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ÁKTyp s pohyblivou řádovou čárkou s maximální přesností 126 bitů
INTjedná se o čtyřbajtová celočíselná numerická data
CELÉ ČÍSLOjedná 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

  1. 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ů.
  2. Typická struktura funkce má 3 části, tj. Deklarační část, vykonávací část a zpracování výjimek.
  3. 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 -

  1. Příkaz CASE v PL / SQL
  2. TeraData vs Oracle
  3. Co dělají vědci v oblasti dat?
  4. Význam kurzoru v PL / SQL
  5. Throw vs Throw | 5 hlavních rozdílů, které byste měli vědět
  6. Různé typy dat SQL s příklady