Vadnica za PL / SQL: Vse, kar morate vedeti o PL / SQL



Vadnica PL / SQL z različnimi primeri zajema vso podrobno razlago vseh potrebnih konceptov, potrebnih za obvladovanje programiranja PL / SQL

PL / SQL je procesni jezik, ki premaga pomanjkljivosti, s katerimi se sooča Strukturirani povpraševalni jezik za delo s podatkovnimi bazami . Je razširitev SQL-a in poizvedbe SQL lahko brez težav uporabljamo v kateri koli aplikaciji ali programu PL / SQL. V tej vadnici PL / SQL bomo podrobno preučili osnovne koncepte PL / SQL. V tem članku so zajete naslednje teme.

Kaj je PL / SQL?

Označuje postopkovno jezikovno razširitev na Strukturirani povpraševalni jezik za delo s podatkovnimi bazami . Oracle je ustvaril PL / SQL, ki razširja nekatere omejitve SQL, da bi zagotovil celovitejšo rešitev za izdelavo kritičnih aplikacij, ki se izvajajo na oracle .





logo-pl / sql vadnica - edureka

Lastnosti

  • PL / SQL zagotavlja funkcionalnost postopkovnega jezika, kot so odločanje, ponavljanje itd.

  • Z enim samim ukazom lahko PL / SQL izvede številne poizvedbe.



  • Prav tako lahko ponovno uporabimo enote PL / SQL, kot so funkcije, sprožilci, postopki itd., Ki so po ustvarjanju shranjene v zbirki podatkov.

  • PL / SQL ima tudi blok za obravnavo izjem, ki obravnava izjeme v PL / SQL.

  • Obsežno preverjanje napak je možno tudi s PL / SQL



  • Aplikacije, napisane v PL / SQL, so prenosljive na drugo strojno opremo in operacijske sisteme, pod pogojem, da mora oracle delovati.

PL / SQL vs SQL

SQL PL / SQL
SQL je ena poizvedba, ki se uporablja za izvajanje operacij DDL in DMLPL / SQL je blok kod, ki se uporablja za definiranje celotnega programa ali postopka / funkcije itd
V resnici ne določa, kako je treba stvari narediti, temveč določa, kaj je treba storitiPL / SQL določa, kako je treba stvari početi
Izvede en stavekIzvede blok stavkov hkrati.
SQL se v glavnem uporablja za obdelavo podatkovPL / SQL pa se uporablja za ustvarjanje aplikacij
Ne sme vsebovati kode PL / SQLKer gre za razširitev SQL, lahko v njej vsebuje kodo SQL

Blokovne strukture v PL / SQL

PL / SQL običajno organizira kodo v bloke. Blok kode brez imena je znan kot anonimni blok. Znan je kot anonimni blok, ker ni shranjen v zbirki podatkov oracle. Oglejmo si anonimni blok v PL / SQL.

kako uporabljati čakanje in obveščanje v
[DECLARE] izjave deklaracije [BEGIN] izvedbeni stavki [EXCEPTION] izjeme END /

Če pogledamo zgornji diagram, lahko vidimo, da je blokovna struktura razdeljena na štiri dele, tj. Izjavo, začetek, izjemo in konec. Poskusimo razumeti, kako deluje blokovna struktura v PL / SQL. Od vseh teh odsekov je odsek za izvedbo obvezen, ostali pa neobvezni.

  • IZJAVITE ključna beseda se uporablja za razdelek za deklaracijo, uporablja se za razglasitev podatkovnih vrst in struktur, kot so spremenljivke, funkcije itd.

  • ZAČETI ključna beseda se uporablja za odsek za izvajanje. Je obvezen in vsebuje vse izjave, ki jih je treba izvršiti. V tem bloku je definirana poslovna logika, v tem bloku lahko uporabimo tako postopkovne kot izjave SQL.

  • The IZJEMA ključna beseda se uporablja za razdelek o izjemah. Vsebuje vse izjeme.

  • KONEC ključna beseda označuje konec bloka in poševnica nazaj '/' pove orodju, ki ga uporabljate (Oracle Database Tool) za izvajanje bloka PL / SQL.

Tu je preprost primer, ki prikazuje, kako lahko uporabimo kodo PL / SQL.

ZAČNI NULL KONEC /

Zdaj, ko vemo, kako blokovna struktura deluje v PL / SQL, naj razumemo različne vidike PL / SQL, kot so deklariranje, poimenovanje in dodeljevanje vrednosti spremenljivkam.

Spremenljivke PL / SQL

Spremenljivka v PL / SQL je v bistvu ime, ki se spreminja, ali začasno mesto shranjevanja, ki podpira določen podatkovni tip. Oglejmo si, kako lahko spremenljivke uporabljamo v programu PL / SQL.

Pravila spremenljivega poimenovanja

PL / SQL upošteva naslednja pravila za poimenovanje spremenljivk.

  • Spremenljivka ne sme imeti več kot 31 znakov

  • Ime spremenljivke se mora začeti z znakom ASCII. Ker PL / SQL razlikuje med velikimi in malimi črkami, bosta veliki in mali črki različni spremenljivki.

  • Za prvim znakom mora biti poseben znak ($, _) ali poljubna številka.

Konvencije o poimenovanju

Za uporabo spremenljivk uporabite naslednje spodaj navedene konvencije o poimenovanju.

Predpona Vrsta podatkov
v_VARCHAR2
n_ŠTEVILO
t_TABELA
r_VRSTICA
d_DATUM
b_BOOLEAN

Izjava

Poskusimo razumeti, kako se deklaracija spremenljivk izvaja v PL / SQL

Izjava vključuje ime spremenljivke, ki ji sledi vrsta podatkov in ločena s podpičjem. Sledi primer, ki prikazuje, kako lahko spremenljivko prijavite v PL / SQL.

IZJAVITE v_ime VARCHAR (25) n_age ŠTEVILKA (3) ZAČETI NULL KONEC

Dodate lahko tudi dolžino podatkovnega tipa, kot smo storili v zgornjem primeru.

Sidra

Sidro se v bistvu nanaša na uporabo ključne besede% TYPE, ki razglasi spremenljivko s podatkovnim tipom, povezanim s podatkovnim tipom stolpca določenega stolpca v tabeli.

Oglejte si primer, da to razumete. Recimo, da imamo tabelo ZAPOSLENI, lahko sidra uporabimo na naslednji način.

IZJAVITE v_ime EMPLOYEE.NAME% TYPE n_age EMPLOYEE.AGE% TYPE BEGIN NULL END /

Dodelitev

Dodelitev spremenljivk je precej enostavna, lahko uporabimo operator dodelitve za dodelitev vrednosti spremenljivki. Naslednji primer prikazuje, kako lahko spremenljivki dodelimo vrednosti.

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

Inicializacija

Vrednost spremenljivke lahko inicializiramo tudi v razdelku deklaracije. Naslednji primer prikazuje, kako lahko vrednosti spremenimo v spremenljivko.

IZJAVITI v_name VARCHAR (20) = 'edureka' n_course VARCHAR (10) = 'sql' BEGIN NULL END /

Zdaj, ko vemo, kako lahko delamo s spremenljivkami, poskusimo razumeti, kako bomo uporabljali funkcije v PL / SQL.

Funkcija v PL / SQL

Funkcija v PL / SQL je v bistvu imenovani blok, ki vrne vrednost. Znana je tudi kot podprogram ali podprogram, naslednja sintaksa prikazuje, kako lahko uporabljamo funkcije v PL / SQL.

USTVARI [ALI ZAMENJAJ] FUNCTION ime_funkcije [(parameter_1 [IN] [OUT] vrsta_podatka, parameter_2 [IN] [OUT] vrsta_podatka, parameter_N [IN] [OUT] vrsta_podatka] RETURN return_data_type JE BEGIN stavki return return_data_type EXCEPTION END /

Najprej morate za ključno besedo določiti ime funkcije. Ime funkcije se mora začeti z glagolom. Funkcija ne sme imeti nobenega, enega ali več parametrov, ki jih določimo v parametrih. Podatkovni tip vsakega parametra moramo izrecno navesti, nato pa pride do načina, ki lahko kar koli od naslednjega.

  • IN - Parameter IN je parameter samo za branje.

  • OUT - To je parameter samo za pisanje

  • IN OUT - Parameter IN OUT je oba parametra branja in pisanja.

Tu je preprost primer, ki prikazuje, kako uporabljamo funkcije v PL / SQL.

USTVARI ALI NADOMESTI FUNKCIJO try_parse (iv_number IN VARCHAR2) VRNILNA ŠTEVILKA SE ZAČNI RETURN to_number (iv_number) RAZEN, KO DRUGI NATO VRAČAJO NULL END

Klicanje funkcije

Poskusimo poklicati funkcijo, ki smo jo naredili v anonimnem bloku v naslednjem primeru.

NASTAVITE SERVEROPUT NA VELIKOSTI 1000000 DECLARE n_x številka n_y številka n_z številka ZAČNITE n_x: = try_parse ('256') n_y: = try_parse ('29 .72 ') n_z: = try_parse (' pqrs ') DBMS_OUTPUT.PUT_LINE (n_x) DBUT (N_X) n_y) DBMS_OUTPUT.PUT_LINE (n_z) END /

Funkcijo lahko pokličemo tudi v stavku SELECT. Zdaj, ko vemo, kako lahko uporabljamo funkcije v PL / SQL, poskusimo razumeti, kako delamo s postopki v PL / SQL.

PL / SQL postopek

Postopek je v bistvu blok, ki opravi določeno nalogo. S pomočjo postopka lahko zavijemo ali vključimo zapleteno poslovno logiko in jo ponovno uporabimo tako v aplikacijski kot v podatkovni plasti.

Oglejmo si preprost primer, da bomo razumeli, kako postopek deluje v PL / SQL

USTVARI ALI NADOMESTI POSTOPEK prilagodi_plačo (in_employee_id V ZAPOSLENIH.EMPLOYEE_ID% TIP, v_ odstotkih NA ŠTEVILO) JE ZAČETEK - posodobi plačo zaposlenega UPDATE zaposleni SET plača = plača + plača * in_percent / 100 WHERE worker_id = in_employee_id END

V zgornjem primeru imamo dva parametra, postopek prilagodi plačo za določen odstotek in ključna beseda UPDATE posodobi vrednost v podatkih o plači.

Glava postopka

Odsek pred ključno besedo IS se imenuje glava postopka. Sledi nekaj napotkov, ki jih je treba poznati pri delu s postopki.

  • shema - Postopek pripada neobveznemu imenu sheme.

  • ime - Ime postopka, ki se začne z glagolom.

  • parametri - To je neobvezen seznam parametrov.

  • AUTHID - Določa, ali se bo postopek izvedel s privilegijem trenutnega uporabnika ali prvotnega lastnika postopka.

Telo postopka

Vse, kar pride za ključno besedo IS, se imenuje telo postopka. Izjave o izjavi, izjemi in izvedbi imamo v telesu postopka. Za razliko od funkcije se ključna beseda RETURN v postopku uporablja za zaustavitev izvajanja in vrnitev nadzora klicatelju.

Klicanje postopka

Poglejmo, kako lahko pokličemo postopek v PL / SQL.

EXEC_ime_procedura (param1, param2 & hellipparamN)

Postopke brez parametrov lahko pokličemo samo z uporabo ključne besede EXEC in imena postopka. Zdaj, ko vemo, kako lahko delamo s postopki, poskusimo razumeti, kako se ugnezdeni bloki uporabljajo v PL / SQL.

Vgnezdeni blok

Vgnezden blok ni nič drugega kot kombinacija enega ali več blokov PL / SQL za boljši nadzor nad izvajanjem in izjemnim ravnanjem s programom.

Tu je preprost primer ugnezdenega bloka.

NASTAVITE SERVEROUTP NA VELIKOSTI 1000000 DECLARE n_emp_id EMPLOYEES.EMPLOYEE_ID% TYPE: = & emp_id1 ZAČNITE IZJAVITI n_emp_id staff.employee_id% TYPE: = & emp_id2 v_name zaposleni.first_name% TYPE_NAPREZNO IME BREZ IMENA zaposlenega '|| n_emp_id ||' je '|| v_name) EXCEPTION WHEN no_data_found THEN DBMS_OUTPUT.PUT_LINE (' Employee '|| n_emp_id ||' not found ') END END /

Zunanji blok PL / SQL v zgornjem primeru je znan kot nadrejeni blok ali zapiralni blok, notranji blok pa je znan kot podrejeni blok ali priloženi blok.

Ni dobra ideja, če bi v obeh blokih uporabljali spremenljivke z enakimi imeni, ker bo med izvajanjem spremenljivka podrejenega bloka preglasila nadrejeno spremenljivko bloka. To se zgodi, ker PL / SQL daje prednostni nalogi spremenljivki v svojem bloku.

Oznaka bloka

To težavo lahko odpravimo z oznako bloka, ki nam pomaga pri sklicevanju na spremenljivke znotraj blokov z uporabo oznake.

Tu je preprost primer, ki prikazuje, kako lahko uporabimo oznako bloka.

 <>IZJAVITE ... ZAČNITE ... KONEC

Uporaba oznake bloka pomaga izboljšati berljivost kode, pridobiti boljši nadzor in se sklicevati na bloke. Zdaj, ko vemo, kako lahko delamo z ugnezdenimi bloki, poskusimo razumeti, kako IF STATEMENT deluje v PL / SQL.

Izjava IF

PL / SQL ima tri IZJAVE

  • ČE, POTEM - To je najpreprostejši IF STATEMENT, če je pogoj true, se bodo stavki izvedli, če je pogoj false, ne naredi ničesar.

    ansible vs chef vs puppet
  • ČE TADA-DRUGJE - V tem je dodana klavzula ELSE za nadomestno zaporedje stavkov.

  • ČE-TADA-ELSEIF - Omogoča nam izvajanje več preskusnih pogojev v zaporedju.

ČE-TADA Sintaksa

IF pogoj THEN zaporedje_izjav END END IF

IF-THEN-ELSE Sintaksa

IF pogoj THEN zaporedje_f__izjav DRUGA zaporedje_drugih_izjav END END

Sintaksa IF-THEN-ELSEIF

IF pogoj1 THEN zaporedje_izjav1 pogoj ELSIF2 THEN zaporedje_izjav2 ELSE zaporedje_izjav3 END IF

Zdaj, ko smo končali s IF STATEMENT, si oglejmo stavek CASE v PL / SQL.

Izjava o zadevi

Stavek CASE v bistvu pomaga pri izvajanju zaporedja stavkov, ki temelji na izbirniku. Izbirnik je v tem primeru lahko karkoli, lahko spremenljivka, funkcija ali preprost izraz. Tu je preprost primer za prikaz sintakse stavka CASE v PL / SQL.

[<>] ZADEVA [TRUE | izbirnik] WHEN izraz1 TED zaporedja_izjav1 WHEN izraz2 TADA zaporedje_izjav2 ... KDAJ izrazN TAD zaporedje_izjavN [ELSE zaporedje_izjavN + 1] END CASE [ime_nalepke]

V zgornji sintaksi za ključno besedo CASE pride izbirnik. PL / SQL bo izbirnik ocenil samo enkrat, da bo določil, kateri stavek je treba izvesti.

Izbirniku sledi ključna beseda WHEN. Če izraz izpolnjuje izbirnik, se izvede ustrezen stavek po ključni besedi THEN.

Zdaj, ko vemo, kako lahko uporabimo stavek CASE, poskusimo razumeti, kako bomo uporabili stavke zanke v PL / SQL.

Izjava o zanki

Stavek zanke v PL / SQL je iterativni stavek, ki vam omogoča večkratno izvajanje zaporedja stavkov. Tu je preprost primer za prikaz sintakse stavka zanke v PL / SQL.

LOOP zaporedje_izkazov END LOOP

Med ključno besedo LOOP in END LOOP mora biti vsaj en izvršljiv stavek.

Zanka z izjavo EXIT

Stavka EXIT in EXIT, ko omogočata izhod iz zanke. Stavek EXIT WHEN pogojno prekine zanko, EXIT pa brezpogojno zaključi izvajanje.

LOOP ... EXIT WHEN, ko stanje END LOOP

Oznaka zanke

Oznaka zanke se uporablja za določitev imena spremenljivke števca zanke, kadar se uporablja v ugnezdeni zanki. Sledi sintaksa oznake zanke.

 <>Oznaka LOOP sequence_of_statements END LOOP

Zdaj, ko vemo, kako lahko uporabimo stavke zanke, si oglejmo izjave zanke za boljše razumevanje.

Izjava o zanki

Stavek zanke WHILE lahko uporabimo, kadar število izvršitev ni določeno, dokler se izvajanje ne začne. Naslednja sintaksa se uporablja za stavek zanke WHILE v PL / SQL.

WHILE pogoj LOOP sequence_of_statements END LOOP

Pogoj v sintaksi je logična vrednost ali izraz, ki je TRUE, FALSE ali NULL. Če je pogoj TRUE, se stavki izvršijo, če je FALSE, se izvajanje ustavi in ​​nadzor preide na naslednji izvršljivi stavek.

Zdaj, ko vemo, kako lahko uporabimo stavek zanke WHILE, si oglejmo stavek zanke FOR.

Za izjavo zanke

Stavek zanke FOR v PL / SQL nam omogoča, da določeno številokrat izvedemo zaporedje stavkov. Sledi sintaksa za uporabo stavka zanke FOR v PL / SQL

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

PL / SQL samodejno ustvari lokalno spremenljivko loop_counter s podatkovnim tipom INTEGER za zanko, tako da vam je ni treba izrecno prijaviti. Lowerbound..higherbound je obseg, v katerem se zanka ponavlja. Prav tako morate imeti vsaj en izvršljiv stavek med ključnimi besedama LOOP in END LOOP.

Zdaj, ko vemo, kako lahko uporabimo stavke zanke v PL / SQL, si oglejmo izjemno ravnanje v PL / SQL.

Izjemno ravnanje

V PL / SQL se kakršna koli napaka obravnava kot izjema. Izjemo lahko obravnavamo kot poseben pogoj, ki lahko spremeni ali spremeni tok izvajanja. V PL / SQL obstajata dve vrsti izjem.

  • Izjema sistema - Poviša ga čas izvajanja PL / SQL, ko zazna napako.

  • Izjema, ki jo določi programer - Te izjeme definira programer v določeni aplikaciji.

Določitev izjeme

Preden jo lahko uveljavite, je treba prijaviti izjemo v PL / SQL. Izjemo lahko določimo s pomočjo ključne besede EXCEPTION, kot smo to storili v spodnjem primeru.

EXCEPTION_NAME EXCEPTION

Za izjemo uporabimo ključno besedo RAISE.

RAISE EXCEPTION_NAME

Torej, to je bilo vse o PL / SQL, upam, da vam je ta članek pomagal dodati vrednost vašemu znanju. Za več informacij o SQL ali zbirkah podatkov si lahko ogledate naš celovit bralni seznam tukaj: .

Če želite dobiti strukturirano usposabljanje za MySQL, si oglejte naš ki prihaja z usposabljanjem pod vodstvom inštruktorjev v živo in izkušnjami iz resničnih projektov. Ta trening vam bo pomagal poglobljeno razumeti MySQL in vam pomagal doseči obvladovanje zadeve.

Imate vprašanje za nas? Prosimo, navedite to v oddelku za komentarje v Vadnica PL / SQL ”In se vam oglasim.