PL / SQL je procedurální jazyk, který překonává nedostatky, kterým čelí strukturovaný dotazovací jazyk . Jedná se o rozšíření SQL a můžeme dokonce používat dotazy SQL bez jakýchkoli potíží v jakékoli aplikaci nebo programu PL / SQL. V tomto výukovém programu PL / SQL podrobně projdeme základní pojmy PL / SQL. V tomto článku se věnujeme následujícím tématům.
- Co je PL / SQL?
- Blokovat struktury v PL / SQL
- Proměnné PL / SQL
- Funkce v PL / SQL
- Procedura PL / SQL
- Vnořený blok
- Prohlášení IF
- Prohlášení CASE
- Prohlášení o smyčce
- Výjimečné zacházení
Co je PL / SQL?
Znamená to rozšíření procedurálního jazyka na strukturovaný dotazovací jazyk . Společnost Oracle vytvořila PL / SQL, která rozšiřuje některá omezení SQL a poskytuje komplexnější řešení pro vytváření kriticky důležitých aplikací běžících na Oracle .
Funkce
PL / SQL poskytuje funkčnost procedurálního jazyka, jako je rozhodování, iterace atd.
Pomocí jediného příkazu může PL / SQL provést řadu dotazů.
Můžeme také znovu použít jednotky PL / SQL, jako jsou funkce, triggery, procedury atd., Které jsou po vytvoření uloženy v databázi.
PL / SQL má také blok zpracování výjimek, který zpracovává výjimky v PL / SQL.
Pomocí PL / SQL je také možná rozsáhlá kontrola chyb
Aplikace napsané v PL / SQL jsou přenosné na jiný hardware a operační systémy za předpokladu, že Oracle musí být funkční.
PL / SQL vs SQL
SQL | PL / SQL |
SQL je jediný dotaz, který se používá k provádění operací DDL a DML | PL / SQL je blok kódů, který se používá k definování celého programu nebo procedury / funkce atd |
Ve skutečnosti nedefinuje, jak je třeba věci dělat, spíše definuje, co je třeba udělat | PL / SQL definuje, jak je třeba věci dělat |
Provede jediný příkaz | Provede blok příkazů najednou. |
SQL se používá hlavně k manipulaci s daty | PL / SQL se na druhé straně používá k vytváření aplikací |
Nemůže obsahovat kód PL / SQL | Jelikož se jedná o příponu SQL, může v ní obsahovat kód SQL |
Blokovat struktury v PL / SQL
PL / SQL obvykle organizuje kód do bloků. Blok kódu bez názvu se nazývá anonymní blok. Je znám jako anonymní blok, protože není uložen v databázi Oracle. Podívejme se na anonymní blok v PL / SQL.
[PROHLÁŠENÍ] prohlášení prohlášení [ZAČÍT] příkazy provedení [VÝJIMKA] prohlášení výjimky KONEC /
Při pohledu na diagram zobrazený výše vidíme, že bloková struktura je rozdělena do čtyř částí, tj. Deklarace, začátek, výjimka a konec. Pokusme se pochopit, jak funguje bloková struktura v PL / SQL. Ze všech těchto sekcí je sekce provádění povinná a všechny ostatní jsou volitelné.
PROHLÁSIT klíčové slovo se používá v sekci deklarace se používá k deklaraci datových typů a struktur, jako jsou proměnné, funkce atd.
ZAČÍT klíčové slovo se používá pro sekci provádění. Je povinný a obsahuje všechny příkazy, které je třeba provést. V tomto bloku je definována obchodní logika, v tomto bloku můžeme použít procedurální příkazy nebo příkazy SQL.
The VÝJIMKA klíčové slovo se používá pro sekci výjimek. Obsahuje všechny příkazy výjimky.
KONEC klíčové slovo označuje konec bloku a zpětné lomítko „/“ řekne nástroji, který používáte (Oracle Database Tool) k provedení bloku PL / SQL.
Zde je jednoduchý příklad, který ukazuje, jak můžeme použít kód PL / SQL.
ZAČNĚTE KONEC NULL /
Nyní, když víme, jak bloková struktura funguje v PL / SQL, pochopme různé aspekty PL / SQL, jako je deklarace, pojmenování a přiřazení hodnot proměnným.
Proměnné PL / SQL
Proměnná v PL / SQL je v podstatě název, který se mění, nebo dočasné umístění úložiště, které podporuje konkrétní datový typ. Pojďme se podívat na to, jak můžeme použít proměnné v programu PL / SQL.
Pravidla pro pojmenování proměnných
PL / SQL dodržuje následující pravidla pro pojmenování proměnných.
Proměnná nesmí mít více než 31 znaků
Název proměnné by měl začínat znakem ASCII. Protože PL / SQL rozlišuje velká a malá písmena, velká a malá písmena budou různé proměnné.
nastavení hadoop na ubuntu
Za prvním znakem musí být speciální znak ($, _) nebo libovolné číslo.
Konvence pojmenování
K použití proměnných použijte následující konvence pojmenování uvedené níže.
Předpona | Datový typ |
proti_ | VARCHAR2 |
n_ | ČÍSLO |
t_ | STŮL |
r_ | ŘÁDEK |
d_ | DATUM |
b_ | BOOLEAN |
Prohlášení
Zkusme pochopit, jak se deklarace proměnných provádí v PL / SQL
Deklarace obsahuje název proměnné, za nímž následuje datový typ a oddělené středníkem. Následuje příklad, který ukazuje, jak můžete deklarovat proměnnou v PL / SQL.
DECLARE v_name VARCHAR (25) n_age ČÍSLO (3) ZAČNĚTE KONEC NULL
Můžete také přidat délku datového typu, jak jsme provedli ve výše uvedeném příkladu.
Kotvy
Kotva v zásadě odkazuje na použití klíčového slova% TYPE, které deklaruje proměnnou s datovým typem spojeným s datovým typem sloupce konkrétního sloupce v tabulce.
Podívejte se na příklad, abyste tomu porozuměli. Předpokládejme, že máme tabulku ZAMĚSTNANCI, můžeme použít kotvy následujícím způsobem.
DECLARE v_name EMPLOYEE.NAME% TYPE n_age EMPLOYEE.AGE% TYPE ZAČNĚTE NULL END /
Úkol
Přiřazení proměnné je docela snadné, k přiřazení hodnot proměnné můžeme použít operátor přiřazení. Následující příklad ukazuje, jak můžeme proměnné přiřadit hodnoty.
DECLARE v_name VARCHAR (20) n_course VARCHAR (10) BEGIN v_name = 'edureka' v_course = 'sql' END /
Inicializace
Můžeme také inicializovat hodnotu proměnné v sekci deklarace. Následující příklad ukazuje, jak můžeme inicializovat hodnoty do proměnné.
DECLARE v_name VARCHAR (20) = 'edureka' n_course VARCHAR (10) = 'sql' ZAČNĚTE NULL END /
Nyní, když víme, jak můžeme pracovat s proměnnými, zkusme pochopit, jak budeme používat funkce v PL / SQL.
Funkce v PL / SQL
Funkce v PL / SQL je v podstatě pojmenovaný blok, který vrací hodnotu. Je také známý jako podprogram nebo podprogram, následující syntaxe ukazuje, jak můžeme používat funkce v PL / SQL.
VYTVOŘIT [NEBO VYMĚNIT] FUNKCE název_funkce [(parametr_1 [IN] [OUT] datový_typ, parametr_2 [IN] [OUT] datový_typ, parametr_N [IN] [OUT] datový_typ] RETURN return_data_type JE ZAČÁTEK příkazy return return_data_type KONEC VÝJIMKY /
Nejprve musíte za klíčovým slovem zadat název funkce. Název funkce musí začínat slovesem. Funkce nemusí mít žádný, jeden nebo více parametrů, které zadáme v parametrech. Musíme explicitně specifikovat datový typ každého parametru a poté přichází režim, který může mít jeden z následujících.
V - Parametr IN je parametr jen pro čtení.
VEN - Jedná se o parametr pouze pro zápis
DOVNITŘ VEN - Parametr IN OUT je parametr čtení i zápis.
Zde je jednoduchý příklad, který ukazuje, jak používáme funkce v PL / SQL.
VYTVOŘTE NEBO VYMĚŇTE FUNKCI try_parse (iv_number IN VARCHAR2) NÁVRATNÉ ČÍSLO ZAČÍNÁ NÁVRAT na_number (iv_number) VÝJIMKU, KDYŽ JINÉ POTOM NAVRACUJÍ KONEC
Volání funkce
Zkusme zavolat funkci, kterou jsme provedli v anonymním bloku v následujícím příkladu.
NASTAVTE SERVEROVÝ VÝSTUP NA VELIKOST 10 00000 PROHLÁŠENÍ n_x číslo n_y číslo n_z číslo BEGIN n_x: = try_parse ('256') n_y: = try_parse ('29 .72 ') n_z: = try_parse (' pqrs ') DBMS_OUTPUT.PUT_LINE (n_x) DB n_y) DBMS_OUTPUT.PUT_LINE (n_z) END /
Funkci můžeme zavolat také v příkazu SELECT. Nyní, když víme, jak můžeme používat funkce v PL / SQL, zkusme pochopit, jak pracujeme s procedurami v PL / SQL.
Procedura PL / SQL
Procedura je v podstatě blok, který provádí konkrétní úkol. Pomocí postupu můžeme zabalit nebo zapouzdřit složitou obchodní logiku a znovu je použít v aplikační i databázové vrstvě.
Podívejme se na jednoduchý příklad, abychom pochopili, jak postup funguje v PL / SQL
VYTVOŘIT NEBO VYMĚNIT POSTUP adjust_salary (in_employee_id IN EMPLOYEES.EMPLOYEE_ID% TYPE, in_percent IN NUMBER) ZAČÍNÁ - aktualizovat plat zaměstnance UPDATE zaměstnanci NASTAVIT plat = plat + plat * in_percent / 100 KDE zaměstnanec_id = in_employee_id KONEC
Ve výše uvedeném příkladu máme dva parametry, postup upraví plat o dané procento a klíčové slovo UPDATE aktualizuje hodnotu v informacích o platu.
Záhlaví procedury
Část před klíčovým slovem IS se nazývá záhlaví procedury. Následuje několik ukazatelů, se kterými se musíte seznámit při práci s postupy.
schéma - Jedná se o volitelný název schématu, do kterého procedura patří.
název - Název postupu, který by měl začínat slovesem.
parametry - Jedná se o volitelný seznam parametrů.
AUTHID - Určuje, zda se procedura provede s oprávněním aktuálního uživatele nebo původního vlastníka procedury.
Tělo postupu
Vše, co následuje za klíčovým slovem IS, se nazývá tělo procedury. V těle procedury máme deklarační, výjimkové a exekuční příkazy. Na rozdíl od funkce se klíčové slovo RETURN v proceduře používá k zastavení provádění a vrácení ovládacího prvku volajícímu.
Volání postupu
Podívejme se, jak můžeme volat proceduru v PL / SQL.
EXEC název_ procedury (param1, param2 & hellipparamN)
Můžeme volat procedury bez parametrů pouze pomocí klíčového slova EXEC a názvu procedury. Nyní, když víme, jak můžeme pracovat s procedurami, pokusme se pochopit, jak se vnořené bloky používají v PL / SQL.
Vnořený blok
Vnořený blok není nic jiného než kombinace jednoho nebo více bloků PL / SQL pro lepší kontrolu nad prováděním a výjimečným zpracováním programu.
Zde je jednoduchý příklad vnořeného bloku.
SET SERVEROUTPUT na velikosti 1000000 DECLARE n_emp_id EMPLOYEES.EMPLOYEE_ID% TYPE: = emp_id1 BEGIN DECLARE n_emp_id employees.employee_id% TYPE: = emp_id2 v_name employees.first_name% TYPE Začátek Vyberte FIRST_NAME INTO v_name od zaměstnanců WHERE employee_id = n_emp_id DBMS_OUTPUT.PUT_LINE ( 'Jméno zaměstnance '|| n_emp_id ||' je '|| v_name) VÝJIMKA KDY no_data_found PAK DBMS_OUTPUT.PUT_LINE (' Zaměstnanec '|| n_emp_id ||' nebyl nalezen ') END END /
Vnější blok PL / SQL ve výše uvedeném příkladu je známý jako nadřazený blok nebo uzavírající blok, vnitřní blok je naopak známý jako podřízený blok nebo uzavřený blok.
Není to dobrý nápad používat proměnné se stejnými názvy v obou blocích, protože během provádění bude proměnná podřízeného bloku přepsat proměnnou nadřazeného bloku. Stává se to proto, že PL / SQL dává první prioritu proměnné uvnitř jejího vlastního bloku.
Označit blok
Tento problém můžeme překonat pomocí štítku bloku, který nám pomáhá vytvářet odkazy na proměnné uvnitř bloků pomocí štítku.
Zde je jednoduchý příklad, který ukazuje, jak můžeme použít popisek bloku.
<>PROHLÁŠIT ... ZAČÍT ... KONEC
Použití popisku bloku pomáhá zlepšit čitelnost kódu, získat lepší kontrolu a vytvářet odkazy na bloky. Nyní, když víme, jak můžeme pracovat s vnořenými bloky, zkusme pochopit, jak funguje IF STATEMENT v PL / SQL.
třídění pole c ++
Prohlášení IF
PL / SQL má tři IF PROHLÁŠENÍ
KDYŽ POTOM - Je to nejjednodušší IF STATEMENT, pokud je podmínka pravdivá, příkazy se provedou, pokud je podmínka nepravdivá, nedělá nic.
JESTLIŽE PAK JINAK - V tomto případě je klauzule ELSE přidána pro alternativní posloupnost příkazů.
IF-THEN-ELSEIF - Umožňuje nám provádět několik testovacích podmínek v sekvenci.
IF-THEN Syntaxe
IF podmínka PAK posloupnost_výkazů UKONČIT IF
Syntaxe IF-THEN-ELSE
IF podmínka PAK posloupnost_if_statements JINÁ posloupnost_se_staty END IF
Syntaxe IF-THEN-ELSEIF
IF podmínka1 PAK posloupnost_výkazů1 podmínka ELSIF2 PAK posloupnost_výkazů2 ELSE posloupnost_výkazů 3 KONEC IF
Nyní, když jsme skončili s IF STATEMENT, podívejme se na příkaz CASE v PL / SQL.
Prohlášení CASE
Příkaz CASE v zásadě pomáhá při provádění posloupnosti příkazů založených na selektoru. Selektorem v tomto případě může být cokoli, může to být proměnná, funkce nebo jednoduchý výraz. Zde je jednoduchý příklad, jak ukázat syntaxi příkazu CASE v PL / SQL.
[<>] PŘÍPAD [PRAVDA | selector] KDY výraz1 PAK posloupnost_výkazů1 KDY výraz2 PAK posloupnost_výkazů2 ... KDY výrazN PAK posloupnost_výkazů [JINÁ posloupnost_výkazů N + 1] KONEC PŘÍPADU [název_značky]
Ve výše uvedené syntaxi přichází po klíčovém slově CASE selektor. PL / SQL vyhodnotí selektor pouze jednou, aby určil, který příkaz je třeba provést.
Za selektorem následuje klíčové slovo KDY. Pokud výraz splňuje selektor, provede se odpovídající příkaz po THEN klíčové slovo.
Nyní, když víme, jak můžeme použít příkaz CASE, zkusme pochopit, jak budeme používat příkazy smyčky v PL / SQL.
Prohlášení o smyčce
Smyčkový příkaz v PL / SQL je iterativní příkaz, který umožňuje provádět posloupnost příkazů vícekrát. Zde je jednoduchý příklad, jak ukázat syntaxi příkazu smyčky v PL / SQL.
LOOP sequence_of_statements END LOOP
Mezi klíčovým slovem LOOP a END LOOP musí být alespoň jeden spustitelný příkaz.
Smyčka s příkazem EXIT
Příkazy EXIT a EXIT when umožňují ukončit smyčku. Příkaz EXIT WHEN ukončí smyčku podmíněně, zatímco EXIT ukončí provádění bezpodmínečně.
Smyčka ... KONEC, KDYŽ KONEC KONCE Smyčky
Štítek smyčky
Popisek smyčky se používá ke kvalifikaci názvu proměnné čítače smyčky při použití ve vnořené smyčce. Následuje syntaxe popisku smyčky.
<>LOOP sequence_of_statements END LOOP štítek
Nyní, když víme, jak můžeme použít příkazy smyčky, pojďme se podívat na příkazy while, abychom lépe porozuměli.
While Loop Statement
Můžeme použít příkaz WHILE smyčky, když počet spuštění není definován, dokud nezačne spuštění. Následující syntaxe se používá pro příkaz WHILE loop v PL / SQL.
WHILE podmínka LOOP sequence_of_statements END LOOP
Podmínkou v syntaxi je logická hodnota nebo výraz, který je vyhodnocen jako TRUE, FALSE nebo NULL. Pokud má podmínka hodnotu TRUE, příkazy se provedou, pokud je FALSE, provádění se zastaví a ovládací prvek přejde na další spustitelný příkaz.
Nyní, když víme, jak můžeme použít příkaz smyčky WHILE, podívejme se na příkaz smyčky FOR.
Pro výpis smyčky
Příkaz smyčky FOR v PL / SQL nám umožňuje provádět posloupnost příkazů po definitivní počet opakování. Následuje syntaxe pro použití příkazu FOR loop v PL / SQL
FOR loop_counter IN [REVERSE] lower_bound .. higher_bound LOOP sequence_of_statements END LOOP
PL / SQL vytváří lokální proměnnou loop_counter automaticky s datovým typem INTEGER pro smyčku, takže ji nemusíte explicitně deklarovat. Lowerbound..higherbound je rozsah, ve kterém smyčka iteruje. Musíte také mít alespoň jeden spustitelný příkaz mezi klíčovými slovy LOOP a END LOOP.
Nyní, když víme, jak můžeme použít příkazy smyčky v PL / SQL, pojďme se podívat na výjimečné zacházení v PL / SQL.
Výjimečné zacházení
V PL / SQL je jakýkoli druh chyby považován za výjimku. Výjimku lze považovat za speciální podmínku, která může změnit nebo změnit tok provádění. V PL / SQL existují dva typy výjimek.
Výjimka systému - Vyvolá se za běhu PL / SQL, když zjistí chybu.
Výjimka definovaná programátorem - Tyto výjimky definuje programátor v konkrétní aplikaci.
Definování výjimky
Výjimku v PL / SQL je třeba deklarovat, než ji lze vyvolat. Výjimku můžeme definovat pomocí klíčového slova EXCEPTION, jako jsme to udělali v níže uvedeném příkladu.
VÝJIMKA EXCEPTION_NAME
K vyvolání výjimky používáme klíčové slovo RAISE.
ZVÝŠIT VÝJIMKU_NAME
Takže to bylo všechno o PL / SQL, doufám, že vám tento článek pomohl při zvyšování hodnoty vašich znalostí. Další informace o SQL nebo databázích najdete v našem komplexním seznamu pro čtení zde: .
Pokud si přejete získat strukturované školení o MySQL, podívejte se na naše který přichází s živým tréninkem vedeným instruktorem a zkušenostmi z reálného projektu. Toto školení vám pomůže porozumět MySQL do hloubky a pomůže vám dosáhnout zvládnutí předmětu.
co je java ide
Máte na nás dotaz? Uveďte to prosím v sekci komentářů na stránce ” Výukový program pro PL / SQL „A ozvu se vám.