PL / SQL pamoka: viskas, ką reikia žinoti apie PL / SQL

PL / SQL mokymo programa apima visą išsamų visų reikalingų sąvokų, reikalingų PL / SQL programavimui įsisavinti, paaiškinimą su įvairiais pavyzdžiais

PL / SQL yra procedūrinė kalba, įveikianti trūkumus, su kuriais susiduriama Struktūruota užklausų kalba . Tai yra SQL plėtinys ir mes netgi galime naudoti SQL užklausas be jokio vargo bet kurioje PL / SQL programoje ar programoje. Šioje PL / SQL pamokoje išsamiai išnagrinėsime pagrindines PL / SQL sąvokas. Šiame straipsnyje aptariamos šios temos.

Kas yra PL / SQL?

Tai reiškia proceso kalbos išplėtimą į struktūrizuota užklausos kalba . „Oracle“ sukūrė PL / SQL, praplečiančią kai kuriuos SQL apribojimus, kad būtų pateiktas išsamesnis sprendimas sukurti svarbiausias misijai programas, veikiančias „Oracle“ .



logo-pl / sql pamoka - edureka

funkcijos

  • PL / SQL suteikia procedūrinės kalbos, tokios kaip sprendimų priėmimas, iteracija ir kt., Funkcionalumą.

  • Naudodamas vieną komandą, PL / SQL gali vykdyti daugybę užklausų.

  • Mes taip pat galime pakartotinai naudoti PL / SQL vienetus, tokius kaip funkcijos, aktyvikliai, procedūros ir kt., Kurie po sukūrimo saugomi duomenų bazėje.

  • PL / SQL taip pat turi išimčių tvarkymo bloką, kuris tvarko PL / SQL išimtis.

  • Išsamus klaidų tikrinimas taip pat galimas naudojant PL / SQL

  • Programos, parašytos PL / SQL, yra nešiojamos į kitą aparatinę ir operacinę sistemą, jei „Oracle“ turi veikti.

PL / SQL ir SQL

SQL PL / SQL
SQL yra viena užklausa, naudojama DDL ir DML operacijoms atliktiPL / SQL yra kodų blokas, naudojamas apibrėžti visą programą, procedūrą / funkciją ir kt
Jis iš tikrųjų neapibrėžia, kaip viskas turi būti padaryta, o apibrėžiama, ką reikia darytiPL / SQL apibrėžia, kaip viskas turi būti padaryta
Jis vykdo vieną pareiškimąJis vienu metu vykdo teiginių bloką.
SQL daugiausia naudojamas manipuliuoti duomenimisKita vertus, PL / SQL naudojamas programoms kurti
Jame negali būti PL / SQL kodoKadangi tai yra SQL plėtinys, jame gali būti SQL kodas

paprastas hashmap diegimas java

Blokuoti struktūras PL / SQL

Paprastai PL / SQL kodą suskirsto į blokus. Kodo blokas be vardo vadinamas anoniminiu bloku. Jis žinomas kaip anoniminis blokas, nes jis nėra išsaugotas „Oracle“ duomenų bazėje. Pažvelkime į anoniminį PL / SQL bloką.

[DECLARE] deklaracijos pareiškimai [BEGIN] vykdymo pareiškimai [EXCEPTION] išimčių teiginiai END /

Pažvelgę ​​į aukščiau pateiktą schemą, galime pamatyti, kad bloko struktūra yra padalinta į keturias dalis, ty deklaravimą, pradžią, išimtį ir pabaigą. Pabandykime suprasti, kaip bloko struktūra veikia PL / SQL. Iš visų šių skyrių vykdymo skyrius yra privalomas, o likusi dalis - neprivaloma.

  • PAREIŠKKITE raktinis žodis naudojamas deklaracijos skyriuje, naudojamas deklaruoti duomenų tipus ir struktūras, pvz., kintamuosius, funkcijas ir kt.

  • PRADŽIA vykdymo skyriuje naudojamas raktinis žodis. Tai yra privaloma ir joje yra visi teiginiai, kuriuos reikia vykdyti. Šiame bloke apibrėžta verslo logika, šiame bloke galime naudoti tiek procedūrinius, tiek SQL sakinius.

  • The IŠIMTIS raktinis žodis naudojamas išimčių skiltyje. Jame yra visi išimčių teiginiai.

  • PABAIGA raktinis žodis pažymi bloko pabaigą, o pasvirasis pasvirusis brūkšnys „/“ nurodo įrankiui, kurį naudojate („Oracle Database Tool“) vykdant PL / SQL bloką.

Čia yra paprastas pavyzdys, parodantis, kaip mes galime naudoti PL / SQL kodą.

PRADĖK NULL END /

Dabar, kai žinome, kaip bloko struktūra veikia PL / SQL, supraskime įvairius PL / SQL aspektus, pvz., Deklaruoti, įvardyti ir priskirti reikšmes kintamiesiems.

PL / SQL kintamieji

PL / SQL kintamasis iš esmės yra kintantis pavadinimas arba laikinos saugyklos vieta, palaikanti tam tikrą duomenų tipą. Pažvelkime, kaip galime naudoti kintamuosius PL / SQL programoje.

Kintamojo pavadinimo taisyklės

PL / SQL laikosi šių kintamųjų pavadinimo taisyklių.

  • Kintamasis negali būti ilgesnis nei 31 simbolis

  • Kintamojo pavadinimas turėtų prasidėti ASCII simboliu. Kadangi PL / SQL skiria didžiosios ir mažosios raidės, didžiosios ir mažosios raidės bus skirtingi kintamieji.

  • Po pirmojo simbolio turi būti specialus simbolis ($, _) arba bet koks skaičius.

Konvencijų pavadinimas

Norėdami naudoti kintamuosius, naudokite šias žemiau išvardytas pavadinimų sutartis.

Priešdėlis Duomenų tipas
v_VARCHAR2
n_NUMBER
t_LENTELĖ
r_EILĖ
d_DATA
b_BOLIJŲ

Deklaracija

Pabandykime suprasti, kaip kintamasis deklaravimas atliekamas PL / SQL

Deklaracijoje nurodomas kintamojo pavadinimas, po kurio nurodomas duomenų tipas ir atskirtas kabliataškis. Toliau pateikiamas pavyzdys, parodantis, kaip galite deklaruoti kintamąjį PL / SQL.

PAREIŠKITE v_name VARCHAR (25) n_age NUMERIS (3) BEGIN NULL END

Taip pat galite pridėti duomenų tipo ilgį, kaip tai padarėme aukščiau pateiktame pavyzdyje.

Inkarai

Inkaras iš esmės nurodo raktinio žodžio% TYPE naudojimą, kuris deklaruoja kintamąjį su duomenų tipu, susietu su tam tikros lentelės stulpelio duomenų tipu.

Pažvelkite į pavyzdį, kad tai suprastumėte. Tarkime, kad turime lentelę DARBUOTOJAI, inkarus galime naudoti taip.

PAREIŠKITE v_name EMPLOYEE.NAME% TYPE n_age EMPLOYEE.AGE% TYPE BEGIN NULL END /

Užduotis

Kintamojo priskyrimas yra gana lengvas, mes galime naudoti priskyrimo operatorių, kad priskirtume reikšmes kintamajam. Šis pavyzdys rodo, kaip mes galime priskirti reikšmes kintamajam.

PAREIŠKITE v_name VARCHAR (20) n_course VARCHAR (10) BEGIN v_name = 'edureka' v_course = 'sql' END /

Inicijavimas

Deklaracijos skyriuje taip pat galime inicijuoti kintamojo vertę. Šis pavyzdys parodo, kaip galime inicijuoti reikšmes į kintamąjį.

DEKLARUOKITE v_name VARCHAR (20) = 'edureka' n_course VARCHAR (10) = 'sql' PRADĖK NULL END /

Dabar, kai žinome, kaip galime dirbti su kintamaisiais, pabandykime suprasti, kaip naudosime funkcijas PL / SQL.

Funkcija PL / SQL

PL / SQL funkcija iš esmės yra pavadintas blokas, kuris grąžina vertę. Jis taip pat žinomas kaip paprogramė arba paprogramė, ši sintaksė parodo, kaip galime naudoti funkcijas PL / SQL.

SUKURTI [ARBA PAKEISTI] FUNCTION funkcijos_pavadinimas [(parametras_1 [IN] [OUT] duomenų_tipas, parametras_2 [IN] [OUT] duomenų_tipas, parametras_N [IN] [OUT] duomenų_tipas] RETURN return_data_type IS BEGIN sakiniai return return_data_type EXCEPTION END /

Visų pirma, po raktinio žodžio turite nurodyti funkcijos pavadinimą. Funkcijos pavadinimas turi prasidėti veiksmažodžiu. Funkcijoje gali nebūti nė vieno, vieno ar daugiau parametrų, kuriuos nurodome parametruose. Turime aiškiai nurodyti kiekvieno parametro duomenų tipą, tada ateina režimas, kuris gali bet kurį iš šių būdų.

  • IN - IN parametras yra tik skaitomas parametras.

  • OUT - Tai yra tik rašymo parametras

  • IN OUT - IN OUT parametras yra ir skaitymo, ir rašymo parametras.

Čia yra paprastas pavyzdys, parodantis, kaip mes naudojame funkcijas PL / SQL.

SUKURTI ARBA PAKEISKITE FUNKCIJĄ try_parse (iv_number IN VARCHAR2) GRĄŽINIMO NUMERIS PRADŽIA GRĄŽINTI iki_number (iv_number), IŠSKYRUS, KAI KITI TIK GRĄŽINA NULL END

Funkcijos iškvietimas

kas yra pitakui anakonda

Pabandykime paskambinti anoniminio bloko funkcija, kurią sukūrėme šiame pavyzdyje.

NUSTATYKITE PASLAUGOS PERJUNGIMĄ DYDŽIU 1000000 PASKELBTI n_x skaičius n_y skaičius n_z skaičius 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) PABAIGA /

Funkciją galime iškviesti ir SELECT sakinyje. Dabar, kai žinome, kaip galime naudoti funkcijas PL / SQL, pabandykime suprasti, kaip mes dirbame su procedūromis PL / SQL.

PL / SQL procedūra

Procedūra iš esmės yra blokas, atliekantis konkrečią užduotį. Naudodamiesi procedūra galime apgaubti arba apimti sudėtingą verslo logiką ir pakartotinai panaudoti jas tiek programų, tiek duomenų bazių sluoksniuose.

Pažvelkime į paprastą pavyzdį, kad suprastume, kaip procedūra veikia PL / SQL

KURTI ARBA PAKEISTI PROCEDŪRĄ koreguoti_mokestį (darbuotojo_ID DARBUOTOJUOSE. EMPLOYEE_ID% TIPAS, procentas NUMERIUJE) PRADŽIA - atnaujinkite darbuotojo atlyginimą ATNAUJINKITE darbuotojus.

Ankstesniame pavyzdyje mes turime du parametrus: procedūra koreguoja atlyginimą pagal tam tikrą procentą, o raktinis žodis UPDATE atnaujina atlyginimo informacijos vertę.

Procedūros antraštė

Skyrius prieš raktinį žodį IS vadinamas procedūros antrašte. Toliau pateikiami keli patarimai, kuriuos turite žinoti dirbdami su procedūromis.

  • schema - Tai neprivalomas schemos pavadinimas, kuriam priklauso procedūra.

  • vardas - Procedūros, kuri turėtų prasidėti veiksmažodžiu, pavadinimas.

  • parametrai - Tai neprivalomas parametrų sąrašas.

  • AUTHID - Jis nustato, ar procedūra bus vykdoma su dabartinio vartotojo ar pirminio procedūros savininko privilegija.

Procedūros įstaiga

Viskas, kas ateina po IS raktinio žodžio, vadinama procedūros kūnu. Deklaracijos, išimties ir vykdymo pareiškimus turime procedūros įstaigoje. Skirtingai nuo funkcijos, raktinis žodis RETURN procedūroje naudojamas sustabdyti vykdymą ir grąžinti valdiklį skambinančiajam.

A procedūros iškvietimas

Pažiūrėkime, kaip galime iškviesti procedūrą PL / SQL.

EXEC procedūros_pavadinimas (param1, param2 ir hellipparamN)

Mes galime iškviesti procedūras be parametrų, naudodami tik EXEC raktinį žodį ir procedūros pavadinimą. Dabar, kai žinome, kaip galime dirbti su procedūromis, pabandykime suprasti, kaip įdėti blokai naudojami PL / SQL.

Įdėtas blokas

Įdėtas blokas yra ne daugiau kaip vieno ar daugiau PL / SQL blokų derinys, kad būtų galima geriau kontroliuoti vykdymą ir išskirtinį programos valdymą.

Čia yra paprastas įdėto bloko pavyzdys.

NUSTATYKITE „SERVEROUTPUT“ DYDŽIU 1000000 PASKELBTI darbuotojo '|| n_emp_id ||' yra '|| v_name) IŠIMTIS KAI KAD „no_data_found THEN DBMS_OUTPUT.PUT_LINE (' Employee '|| n_emp_id ||' not found ') END END /

Išorinis PL / SQL blokas aukščiau pateiktame pavyzdyje yra žinomas kaip pirminis blokas arba uždaras blokas, kita vertus, vidinis blokas yra žinomas kaip antrasis blokas arba uždaras blokas.

Tai nėra puiki idėja abiejuose blokuose naudoti kintamuosius su tais pačiais pavadinimais, nes vykdymo metu antrinio bloko kintamasis pakeis pagrindinio bloko kintamąjį. Taip atsitinka todėl, kad PL / SQL teikia pirmenybę kintamajam savo paties bloke.

Blokuoti etiketę

Mes galime įveikti šią problemą naudodami blokinę etiketę, kuri mums padeda naudoti etiketes nuorodoms į kintamuosius blokų viduje.

Čia yra paprastas pavyzdys, parodantis, kaip mes galime naudoti blokinę etiketę.

 <>PAREIŠKKITE ... PRADĖK ... PABAIGOK

Bloko etiketės naudojimas padeda pagerinti kodo įskaitomumą, geriau valdyti ir pateikti nuorodas į blokus. Dabar, kai žinome, kaip galime dirbti su įdėtais blokais, pabandykime suprasti, kaip IF STATEMENT veikia PL / SQL.

IF pareiškimas

PL / SQL turi tris IF PAREIŠKIMUS

  • JEI TADA - Tai paprasčiausia IF PAREIŠKIMAS, jei sąlyga yra teisinga, teiginiai bus vykdomi, jei sąlyga yra klaidinga, ji nieko nedaro.

  • JEI-TAD KITA - Tuo papildoma teiginių seka pridedama sąlyga ELSE.

  • JEI-TAD-ELSEIF - Tai leidžia mums atlikti kelias bandymo sąlygas iš eilės.

JEI-TADA sintaksė

IF sąlyga TADA seka____statymai END IF

IF-TAD KITA sintaksė

Jei sąlyga TADA seka_paskelbimų seka_KITA_paleidimo_sąlygų seka PABAIGA

IF-TAD-ELSEIF sintaksė

IF sąlyga1 TADA seka_statymai1 ELSIF sąlyga2 TADA seka_nustatymai2 KITA seka_statymai3 PABAIGA

Dabar, kai baigsime IF IF STATEMENT, pažvelkime į CASE teiginį PL / SQL.

CASE pareiškimas

CASE teiginys iš esmės padeda vykdyti teiginių seką, paremtą selektoriumi. Selektorius šiuo atveju gali būti bet koks, jis gali būti kintamasis, funkcija ar paprasta išraiška. Čia yra paprastas pavyzdys, kaip parodyti CASE sakinio sintaksę PL / SQL.

[<>] ATVEJAS [TIESA | selektorius] KADA išraiška1 TADA sekų_statymų seka1 KADA išraiška2 TADA sekų_statymų2 ... KADA išraiškaN TADA_sąrašų sekaN [KITA_statymų seka_N 1] END CASE [etiketės_pavadinimas]

Pirmiau pateiktoje sintaksėje po raktinio žodžio CASE ateina parinkiklis. PL / SQL įvertins selektorių tik vieną kartą, kad nustatytų, kurį sakinį reikia vykdyti.

Pasirinkėjas seka raktinį žodį KADA. Jei išraiška tenkina selektorių, tada vykdomas atitinkamas sakinys po TAD raktinio žodžio.

Dabar, kai žinome, kaip galime naudoti „CASE“ teiginį, pabandykime suprasti, kaip naudosime ciklo sakinius PL / SQL.

Ciklo pareiškimas

PL / SQL ciklo sakinys yra iteracinis sakinys, leidžiantis kelis kartus vykdyti sakinių seką. Čia yra paprastas pavyzdys, parodantis ciklo sakinio sintaksę PL / SQL.

LOOP seka___statymai END LOOP

Tarp raktinių žodžių LOOP ir END LOOP turi būti bent vienas vykdomasis sakinys.

Kilpa su EXIT pareiškimu

„EXIT“ ir „EXIT“, kai teiginiai leidžia išeiti iš ciklo. EXIT WHEN sakinys sąlygiškai nutraukia kilpą, o EXIT vykdymą vykdo besąlygiškai.

LOOP ... IŠJUOKITE, kai būsena PABAIGOS

Ciklo etiketė

Kilpos etiketė naudojama norint įvertinti kilpos skaitiklio kintamojo pavadinimą, kai jis naudojamas įdėtoje kilpoje. Toliau pateikiama kilpos etiketės sintaksė.

 <>LOOP seka___statymai END LOOP etiketė

Dabar, kai žinome, kaip galime naudoti ciklo teiginius, pažvelkime į ciklo teiginius, kad geriau suprastume.

Nors ciklo pareiškimas

WHILE ciklo sakinį galime naudoti, kai vykdymų skaičius nėra apibrėžtas, kol neprasideda vykdymas. Ši sintaksė naudojama WHILE ciklo sakiniui PL / SQL.

WHILE sąlyga LOOP seka___statymai END LOOP

Sintaksės sąlyga yra loginė vertė arba išraiška, kuri vertinama kaip TIESA, NETIESA arba NULL. Jei sąlyga yra TIESA, sakiniai bus vykdomi, jei jis yra NETIESA, vykdymas sustoja ir valdiklis pereina prie kito vykdomojo sakinio.

skirtumas tarp metimų ir metimų java

Dabar, kai žinome, kaip galime naudoti WHILE ciklo sakinį, pažvelkime į FOR loop ciklą.

Dėl ciklo pareiškimo

FOR ciklo sakinys PL / SQL leidžia mums atlikti sakinių seką apibrėžtą skaičių kartų. Toliau pateikiama sintaksė, skirta naudoti FOR ciklo sakinį PL / SQL

FOR loop_counter IN [REVERSE] lower_bound .. higher_bound LOOP_sąrašų seka_ABAIGA LOOP

PL / SQL automatiškai sukuria vietinį kintamąjį loop_counter su INTEGER duomenų tipu, kad jums nereikėtų to aiškiai deklaruoti. Apatinė riba..aukštasis yra diapazonas, per kurį kilpa kartojasi. Be to, tarp raktinių žodžių LOOP ir END LOOP turite turėti bent vieną vykdomąjį sakinį.

Dabar, kai žinome, kaip galime naudoti ciklo sakinius PL / SQL, pažvelkime į išskirtinį tvarkymą PL / SQL.

Išskirtinis tvarkymas

PL / SQL bet kokios rūšies klaidos laikomos išimtimi. Išimtis gali būti traktuojama kaip speciali sąlyga, galinti pakeisti ar pakeisti vykdymo eigą. PL / SQL yra dviejų rūšių išimtys.

  • Sistemos išimtis - Aptikus klaidą, ją kelia PL / SQL vykdymo laikas.

  • Programuotojo nustatyta išimtis - Šias išimtis programuotojas apibrėžia konkrečioje programoje.

Išimties apibrėžimas

PL / SQL išimtis turi būti paskelbta prieš ją iškeliant. Išimtį galime apibrėžti naudodami raktinį žodį EXCEPTION, kaip tai darėme toliau pateiktame pavyzdyje.

EXCEPTION_NAME EXCEPTION

Norėdami pateikti išimtį, naudojame RAISE raktinį žodį.

IŠKELTI IŠIMTĮ

Taigi viskas buvo apie PL / SQL, tikiuosi, kad šis straipsnis padėjo jums suteikti daugiau vertės jūsų žinioms. Norėdami gauti daugiau informacijos apie SQL ar duomenų bazes, galite peržiūrėti mūsų išsamų skaitymo sąrašą čia: .

Jei norite gauti struktūrinį „MySQL“ mokymą, patikrinkite mūsų kuris ateina su instruktorių vedamomis tiesioginėmis treniruotėmis ir realių projektų patirtimi. Šie mokymai padės jums išsamiau suprasti „MySQL“ ir padės jums įsisavinti šį dalyką.

Turite mums klausimą? Prašau paminėti tai komentarų skiltyje “ PL / SQL pamoka “Ir aš susisieksiu su jumis.