Výukový program pre PL / SQL: Všetko, čo potrebujete vedieť o PL / SQL



Výukový program PL / SQL obsahuje rôzne príklady podrobného vysvetlenia všetkých potrebných pojmov potrebných na zvládnutie programovania PL / SQL

PL / SQL je procedurálny jazyk, ktorý prekonáva nedostatky, ktorým čelí Štruktúrovaný Dopytovací Jazyk . Jedná sa o rozšírenie SQL a dokonca môžeme v akejkoľvek aplikácii alebo programe PL / SQL dokonca bez problémov používať dotazy SQL. V tomto výučbe PL / SQL si podrobne prejdeme základné pojmy PL / SQL. V tomto článku sa venujeme týmto témam.

Čo je to PL / SQL?

Je skratkou pre procedurálne rozšírenie jazyka do Štruktúrovaný Dopytovací Jazyk . Spoločnosť Oracle vytvorila PL / SQL, ktoré rozširuje niektoré obmedzenia SQL a poskytuje tak komplexnejšie riešenie pre vytváranie kriticky dôležitých aplikácií bežiacich na platforme Oracle .





Výukový program pre logo-pl / sql - edureka

Vlastnosti

  • PL / SQL poskytuje funkčnosť procedurálneho jazyka, ako je rozhodovanie, iterácia atď.

  • Pomocou jediného príkazu môže PL / SQL vykonať množstvo dotazov.



  • Môžeme tiež opakovane použiť jednotky PL / SQL, ako sú funkcie, triggery, procedúry atď., Ktoré sú po vytvorení uložené v databáze.

  • PL / SQL má tiež blok spracovania výnimiek, ktorý spracováva výnimky v PL / SQL.

  • Pomocou PL / SQL je tiež možná rozsiahla kontrola chýb



  • Aplikácie napísané v PL / SQL sú prenosné na iný hardvér a operačné systémy za predpokladu, že Oracle musí byť funkčný.

PL / SQL vs SQL

SQL PL / SQL
SQL je jediný dotaz, ktorý sa používa na vykonávanie operácií DDL a DMLPL / SQL je blok kódov, ktorý sa používa na definovanie celého programu alebo procedúry / funkcie atď
Skutočne nedefinuje, ako treba veci robiť, skôr definuje, čo je potrebné urobiťPL / SQL definuje, ako treba veci robiť
Vykoná jediný príkazVykoná blok výpisov naraz.
SQL sa používa hlavne na manipuláciu s údajmiPL / SQL sa na druhej strane používa na vytváranie aplikácií
Nemôže obsahovať kód PL / SQLPretože sa jedná o rozšírenie SQL, môže v ňom obsahovať kód SQL

Blokové štruktúry v PL / SQL

PL / SQL typicky kód organizuje do blokov. Blok kódu bez názvu je známy ako anonymný blok. Je známy ako anonymný blok, pretože nie je uložený v databáze Oracle. Pozrime sa na anonymný blok v PL / SQL.

[DECLARE] vyhlásenia [BEGIN] vyhlásenia o vykonaní [VÝNIMKA] vyhlásenia o výnimke END /

Pri pohľade na vyššie zobrazený diagram vidíme, že bloková štruktúra je rozdelená do štyroch častí, tj. Deklarácia, Začiatok, Výnimka a Koniec. Pokúsme sa pochopiť, ako funguje bloková štruktúra v PL / SQL. Zo všetkých týchto častí je oddiel vykonávania povinný a všetky ostatné sú voliteľné.

  • VYHLASOVAŤ kľúčové slovo sa používa na deklaráciu oddiel slúži na deklaráciu dátových typov a štruktúr, ako sú premenné, funkcie atď.

  • ZAČAŤ pre sekciu vykonania sa používa kľúčové slovo. Je povinný a obsahuje všetky príkazy, ktoré je potrebné vykonať. V tomto bloku je definovaná obchodná logika. V tomto bloku môžeme použiť procedurálne alebo SQL príkazy.

  • The VÝNIMKA pre časť výnimky sa používa kľúčové slovo. Obsahuje všetky príkazy výnimiek.

  • KONIEC kľúčové slovo označuje koniec bloku a spätná lomka „/“ oznámi nástroju, ktorý používate (Oracle Database Tool) na vykonanie bloku PL / SQL.

Tu je jednoduchý príklad, ktorý ukazuje, ako môžeme používať kód PL / SQL.

ZAČNITE KONIEC NULL /

Teraz, keď vieme, ako funguje bloková štruktúra v PL / SQL, pochopme rôzne aspekty PL / SQL, ako je deklarovanie, pomenovanie a priradenie hodnôt premenným.

Premenné PL / SQL

Premenná v PL / SQL je v podstate názov, ktorý sa líši, alebo dočasné umiestnenie úložiska, ktoré podporuje konkrétny dátový typ. Poďme sa pozrieť na to, ako môžeme používať premenné v programe PL / SQL.

Pravidlá pomenovania premenných

PL / SQL sa pri pomenovávaní premenných riadi nasledujúcimi pravidlami.

  • Premenná nemôže mať viac ako 31 znakov

  • Názov premennej by mal začínať znakom ASCII. Pretože v PL / SQL sa rozlišujú veľké a malé písmená, veľké a malé písmeno budú odlišné premenné.

    prečítať xml súbor v java príklade
  • Za prvým znakom musí byť špeciálny znak ($, _) alebo ľubovoľné číslo.

Dohovory o pomenovaní

Na použitie premenných použite nasledujúce konvencie pomenovania uvedené nižšie.

Predpona Dátový typ
v_VARCHAR2
n_ČÍSLO
t_TABUĽKA
r_RIADOK
d_DÁTUM
b_BOOLEAN

Vyhlásenie

Pokúsme sa pochopiť, ako sa deklarácia premenných vykonáva v PL / SQL

Deklarácia obsahuje názov premennej, za ktorým nasleduje dátový typ a je oddelená bodkočiarkou. Nasleduje príklad, ktorý ukazuje, ako môžete deklarovať premennú v PL / SQL.

DECLARE v_name VARCHAR (25) n_age ČÍSLO (3) ZAČAŤ KONIEC NULL

Môžete tiež pridať dĺžku dátového typu, ako sme to urobili v príklade vyššie.

Kotvy

Kotva v podstate odkazuje na použitie kľúčového slova% TYPE, ktoré deklaruje premennú s údajovým typom spojeným s údajovým typom stĺpca konkrétneho stĺpca v tabuľke.

Aby ste tomu porozumeli, pozrite sa na príklad. Predpokladajme, že máme tabuľku ZAMESTNANCI, môžeme kotvy použiť nasledujúcim spôsobom.

DECLARE v_name EMPLOYEE.NAME% TYPE n_age EMPLOYEE.AGE% TYPE ZAČAŤ NULL END /

Postúpenie

Priradenie premennej je celkom jednoduché, na priradenie hodnôt k premennej môžeme použiť operátor priradenia. Nasledujúci príklad ukazuje, ako môžeme premennej priradiť hodnoty.

DECLARE v_name VARCHAR (20) n_course VARCHAR (10) BEGIN v_name = 'edureka' v_course = 'sql' END /

Inicializácia

Hodnotu premennej môžeme inicializovať aj v sekcii deklarácie. Nasledujúci príklad ukazuje, ako môžeme inicializovať hodnoty na premennú.

DECLARE v_name VARCHAR (20) = 'edureka' n_course VARCHAR (10) = 'sql' ZAČAŤ NULL END /

Teraz, keď vieme, ako môžeme pracovať s premennými, pokúsme sa pochopiť, ako budeme používať funkcie v PL / SQL.

Funkcia v PL / SQL

Funkcia v PL / SQL je v podstate pomenovaný blok, ktorý vracia hodnotu. Je tiež známy ako podprogram alebo podprogram, nasledujúca syntax ukazuje, ako môžeme používať funkcie v PL / SQL.

CREATE [OR REPLACE] FUNCTION function_name [(parameter_1 [IN] [OUT] data_type, parameter_2 [IN] [OUT] data_type, parameter_N [IN] [OUT] data_type] RETURN return_data_type IS BEGIN commands return return_data_type EXCEPTION END /

Najskôr musíte za kľúčovým slovom určiť názov funkcie. Názov funkcie musí začínať slovesom. Funkcia nemusí mať žiadny, jeden alebo viac parametrov, ktoré zadáme v parametroch. Musíme explicitne špecifikovať dátový typ každého parametra a potom príde režim, ktorý môže mať niektorú z nasledujúcich možností.

  • IN - Parameter IN je parametrom iba na čítanie.

  • VON - Je to parameter iba na zápis

  • DNU VON - Parameter IN OUT je parameter čítania i zápisu.

Tu je jednoduchý príklad, ktorý ukazuje, ako používame funkcie v PL / SQL.

VYTVORIŤ ALEBO VYMENIŤ FUNKCIU try_parse (iv_number IN VARCHAR2) NÁVRATNÉ ČÍSLO ZAČÍNA NÁVRAT na_number (iv_number) VÝNIMKU, KEĎ ostatní POTOM NÁVRATNÝ KONIEC

Volanie funkcie

Skúsme zavolať funkciu, ktorú sme vytvorili v anonymnom bloku v nasledujúcom príklade.

NASTAVTE SERVEROVÝ VÝSTUP NA VEĽKOST 10 00000 VYHLÁSENIE 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_UT_UT_UT_UT n_y) DBMS_OUTPUT.PUT_LINE (n_z) KONIEC /

Funkciu môžeme nazvať aj v príkaze SELECT. Teraz, keď už vieme, ako môžeme používať funkcie v PL / SQL, skúsme pochopiť, ako pracujeme s postupmi v PL / SQL.

Postup PL / SQL

Postup je v podstate blok, ktorý vykonáva konkrétnu úlohu. Pomocou postupu môžeme zabaliť alebo zapuzdriť komplexnú obchodnú logiku a znova ich použiť v aplikačnej aj databázovej vrstve.

Pozrime sa na jednoduchý príklad, aby sme pochopili, ako postup funguje v PL / SQL

VYTVORTE ALEBO VYMENTE POSTUP adjust_salary (in_employee_id IN EMPLOYEES.EMPLOYEE_ID% TYPE, in_percent IN NUMBER) ZAČÍNA - aktualizovať plat zamestnanca UPDATE zamestnanci NASTAVIŤ plat = plat + plat * in_percent / 100 KDE zamestnanec_id = in_employee_id END

Vo vyššie uvedenom príklade máme dva parametre, postup upraví plat o dané percento a kľúčové slovo UPDATE aktualizuje hodnotu v informácii o plate.

Hlavička procedúry

Sekcia pred kľúčovým slovom IS sa nazýva hlavička procedúry. Nasleduje niekoľko ukazovateľov, s ktorými musíte byť oboznámení pri práci s postupmi.

  • schéma - Je to voliteľný názov schémy, do ktorej procedúra patrí.

  • názov - Názov postupu, ktorý by sa mal začať slovesom.

  • parametre - Je to voliteľný zoznam parametrov.

  • AUTHID - Určuje, či sa procedúra bude vykonávať s oprávnením aktuálneho používateľa alebo pôvodného vlastníka procedúry.

Procedurálny orgán

Všetko, čo nasleduje po kľúčovom slove IS, sa nazýva telo procedúry. V tele procedúry máme vyhlásenie, vyhlásenie o výnimke a vyhlásenie o vykonaní. Na rozdiel od funkcie sa kľúčové slovo RETURN v procedúre používa na zastavenie vykonania a vrátenie ovládacieho prvku volajúcemu.

Vyvolanie postupu

Pozrime sa, ako môžeme zavolať procedúru v PL / SQL.

EXEC názov_ procedúry (param1, param2 & hellipparamN)

Procedúry bez parametrov môžeme nazvať iba pomocou kľúčového slova EXEC a názvu procedúry. Teraz, keď už vieme, ako môžeme pracovať s procedúrami, skúsme pochopiť, ako sa vnorené bloky používajú v PL / SQL.

Vnorený blok

Vnorený blok nie je nič iné ako kombinácia jedného alebo viacerých blokov PL / SQL na získanie lepšej kontroly nad vykonávaním a výnimočnou manipuláciou s programom.

Tu je jednoduchý príklad vnoreného bloku.

SET SERVEROUTPUT na veľkosti 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čiatok Vyberte FIRST_NAME INTO v_name od zamestnancov WHERE employee_id = n_emp_id DBMS_OUTPUT.PUT_LINE ( ​​'Meno zamestnanca „|| n_emp_id ||“ je „|| v_name) VÝJIMKA, KEDY no_data_found POTOM DBMS_OUTPUT.PUT_LINE („ Zamestnanec “|| n_emp_id ||„ nenájdený “) END END /

Vonkajší blok PL / SQL vo vyššie uvedenom príklade je známy ako nadradený blok alebo obklopujúci blok, vnútorný blok je na druhej strane známy ako podradený blok alebo uzavretý blok.

Nie je skvelý nápad používať premenné s rovnakými názvami v oboch blokoch, pretože počas vykonávania bude mať premenná podradeného bloku prednosť pred premennou nadradeného bloku. Stáva sa to preto, lebo PL / SQL uprednostňuje premennú vo svojom vlastnom bloku ako prvú.

Blokovať štítok

Tento problém môžeme prekonať štítkom bloku, ktorý nám pomáha robiť odkazy na premenné vo vnútri blokov pomocou štítku.

Tu je jednoduchý príklad, ktorý ukazuje, ako môžeme použiť označenie bloku.

 <>VYHLASOVAŤ ... ZAČAŤ ... KONIEC

Používanie označenia bloku pomáha zlepšiť čitateľnosť kódu, získať lepšiu kontrolu a robiť odkazy na bloky. Teraz, keď už vieme, ako môžeme pracovať s vnorenými blokmi, skúsme pochopiť, ako funguje IF STATEMENT v PL / SQL.

čo je framework v seléne

Vyhlásenie IF

PL / SQL má tri VYHLÁSENIA IF

  • AK POTOM - Je to najjednoduchšie VYHLÁSENIE AK je podmienka pravdivá, príkazy sa vykonajú, ak je podmienka nepravdivá, neurobí nič.

  • AK-POTOM INAK - V tomto sa pridáva klauzula ELSE pre alternatívnu postupnosť príkazov.

  • IF-THEN-ELSEIF - Umožňuje nám to vykonať niekoľko testovacích podmienok za sebou.

AK-POTOM syntax

IF podmienka POTOM sekvencia_of_statov UKONČIŤ IF

Syntax IF-THEN-ELSE

IF podmienka POTOM sekvencia_if_statementov ELSE sequence_of_else_statements UKONČIŤ IF

Syntax IF-THEN-ELSEIF

IF podmienka1 POTOM sekvencia_objednávok1 Podmienka ELSIF2 POTOM sekvencia_objednávok2 ELSE sekvencia_objednávok3 END IF

Teraz, keď sme skončili s IF STATEMENT, pozrime sa na príkaz CASE v PL / SQL.

Vyhlásenie CASE

Príkaz CASE v zásade pomáha pri vykonávaní postupnosti príkazov na základe selektora. Selektorom v tomto prípade môže byť čokoľvek, môže to byť premenná, funkcia alebo jednoduchý výraz. Tu je jednoduchý príklad na zobrazenie syntaxe príkazu CASE v PL / SQL.

[<>] PRÍPAD [PRAVDA | selektor] KEDY výraz1 POTOM sekvencia_výkazov1 KEDY výraz2 POTOM sekvencia_výkazov2 ... KEDY výrazN POTOM sekvencia_výkazov [JINÁ sekvencia_výkazovN + 1] KONEC CASE [názov_štítku]

Vo vyššie uvedenej syntaxi nasleduje za kľúčovým slovom CASE selektor. PL / SQL vyhodnotí selektor iba raz, aby určil, ktorý príkaz je potrebné vykonať.

Za selektorom nasleduje kľúčové slovo KEDY. Ak výraz uspokojí selektor, vykoná sa zodpovedajúci príkaz po THEN kľúčovom slove.

Teraz, keď už vieme, ako môžeme použiť príkaz CASE, skúsme pochopiť, ako budeme používať príkazy cyklu v PL / SQL.

Vyhlásenie o slučke

Smyčkový príkaz v PL / SQL je iteračný príkaz, ktorý umožňuje vykonať sekvenciu príkazov viackrát. Tu je jednoduchý príklad na zobrazenie syntaxe príkazu slučky v PL / SQL.

LOOP sequence_of_statements UKONČIŤ LOOP

Medzi kľúčovým slovom LOOP a END LOOP musí byť aspoň jeden spustiteľný príkaz.

Slučka s výpisom EXIT

Príkazy EXIT a EXIT when umožňujú opustiť slučku. Príkaz EXIT WHEN ukončí slučku podmienečne, zatiaľ čo EXIT ukončí vykonávanie bezvýhradne.

SLUČKA ... ODCHOD, KEĎ KONIEC SKONČIŤ SLUČKU

Štítok slučky

Označenie slučky sa používa na kvalifikovanie názvu premennej počítadla slučiek, ak sa používa vo vnorenej slučke. Nasleduje syntax štítku slučky.

 <>LOOP sequence_of_statements END LOOP štítok

Teraz, keď vieme, ako môžeme používať príkazy cyklu, sa pozrime na príkazy cyklu, aby sme ich lepšie pochopili.

Zatiaľ čo vyhlásenie o slučke

Príkaz WHILE loop môžeme použiť, keď počet spustení nie je definovaný, kým sa nezačne vykonávanie. Nasledujúca syntax sa používa pre príkaz WHILE loop v PL / SQL.

WHILE podmienka LOOP sequence_of_statements UKONČIŤ LOOP

Podmienkou v syntaxi je boolovská hodnota alebo výraz, ktorý sa vyhodnotí ako TRUE, FALSE alebo NULL. Ak je podmienka PRAVDA, vykonajú sa príkazy, ak je NEPRAVDA, vykonanie sa zastaví a kontrola prejde na ďalší spustiteľný príkaz.

Teraz, keď vieme, ako môžeme použiť príkaz WHILE loop, pozrime sa na príkaz FOR loop.

Pre výpis slučky

Príkaz FOR loop v PL / SQL nám umožňuje vykonávať postupnosť príkazov na určitý počet opakovaní. Nasleduje syntax, ktorá sa má použiť v príkazovom riadku FOR v PL / SQL

FOR loop_counter IN [REVERSE] lower_bound .. higher_bound LOOP sequence_of_statements END LOOP

PL / SQL vytvára lokálnu premennú loop_counter automaticky s dátovým typom INTEGER pre slučku, aby ste ju nemuseli výslovne deklarovať. Dolná hranica..vysoká hranica je rozsah, v ktorom slučka iteruje. Medzi kľúčovými slovami LOOP a END LOOP tiež musíte mať aspoň jeden spustiteľný príkaz.

Teraz, keď vieme, ako môžeme používať príkazy cyklu v PL / SQL, pozrime sa na výnimočné zaobchádzanie v PL / SQL.

Výnimočné zaobchádzanie

V PL / SQL sa akýkoľvek druh chyby považuje za výnimku. Výnimku je možné považovať za špeciálnu podmienku, ktorá môže zmeniť alebo zmeniť priebeh vykonávania. V PL / SQL existujú dva typy výnimiek.

  • Výnimka systému - Je zvýšená o dobu chodu PL / SQL, keď zistí chybu.

  • Výnimka definovaná programátorom - Tieto výnimky definuje programátor v konkrétnej aplikácii.

Definovanie výnimky

Pred vyvolaním je potrebné deklarovať výnimku v PL / SQL. Výnimku môžeme definovať pomocou kľúčového slova EXCEPTION, ako sme to urobili v príklade nižšie.

EXCEPTION_NAME EXCEPTION

Na vyvolanie výnimky používame kľúčové slovo RAISE.

RAISE EXCEPTION_NAME

Takže to bolo všetko o PL / SQL. Dúfam, že vám tento článok pomohol pri zvyšovaní hodnoty vašich vedomostí. Viac informácií o SQL alebo databázach nájdete v našom komplexnom zozname na čítanie tu: .

Ak chcete získať štruktúrované školenie o MySQL, pozrite si naše ktorá prináša živé školenie vedené inštruktorom a skúsenosti s projektmi v reálnom živote. Toto školenie vám pomôže pochopiť MySQL do hĺbky a pomôže vám dosiahnuť osvojenie si témy.

rekurzívny fibonacci c ++

Máte na nás otázku? Uveďte to v sekcii komentárov stránky ” Výukový program pre PL / SQL “A ozvem sa ti.