PL / SQL-opetusohjelma: kaikki mitä sinun tarvitsee tietää PL / SQL: stä



PL / SQL-opetusohjelma sisältää kaiken yksityiskohtaisen selityksen kaikista tarvittavista käsitteistä, joita tarvitaan PL / SQL-ohjelmoinnin hallitsemiseksi, erilaisilla esimerkeillä

PL / SQL on menettelykieli, joka korjaa kohtaamansa puutteet Jäsennelty kyselykieli . Se on SQL: n laajennus ja voimme jopa käyttää SQL-kyselyjä vaivattomasti missään PL / SQL-sovelluksessa tai ohjelmassa. Tässä PL / SQL-opetusohjelmassa käymme läpi yksityiskohtaisesti PL / SQL: n peruskäsitteet. Tässä artikkelissa käsitellään seuraavia aiheita.

Mikä on PL / SQL?

Se tarkoittaa menettelykielen laajennusta jäsennelty kyselyn kieli . Oracle loi PL / SQL: n, joka laajentaa joitain SQL-rajoituksia tarjotakseen kattavamman ratkaisun Oracle-ohjelmassa toimivien kriittisten sovellusten rakentamiseen .





logo-pl / sql-opetusohjelma - edureka

ominaisuudet

  • PL / SQL tarjoaa prosessikielen, kuten päätöksenteon, iteroinnin jne., Toiminnallisuuden.

  • Yhden komennon avulla PL / SQL voi suorittaa useita kyselyjä.



  • Voimme myös käyttää uudelleen PL / SQL-yksiköitä, kuten toimintoja, laukaisimia, menettelyjä jne., Jotka on tallennettu tietokantaan luomisen jälkeen.

  • PL / SQL: ssä on myös poikkeusten käsittelylohko, joka käsittelee PL / SQL: n poikkeukset.

  • Laaja virheiden tarkistus on mahdollista myös PL / SQL: n avulla



  • PL / SQL-muodossa kirjoitetut sovellukset ovat kannettavia muihin laitteistoihin ja käyttöjärjestelmiin edellyttäen, että oraclen on oltava toiminnassa.

PL / SQL vs. SQL

SQL PL / SQL
SQL on yksittäinen kysely, jota käytetään DDL- ja DML-operaatioiden suorittamiseenPL / SQL on koodilohko, jota käytetään määrittelemään koko ohjelma tai toiminto / toiminto jne
Siinä ei oikeastaan ​​määritellä, miten asiat on tehtävä, vaan määritellään, mitä on tehtäväPL / SQL määrittelee, miten asiat on tehtävä
Se suorittaa yhden lauseenSe suorittaa lausejoukon kerralla.
SQL: ää käytetään pääasiassa tietojen manipulointiinPL / SQL: ää käytetään toisaalta sovellusten luomiseen
Se ei voi sisältää PL / SQL-koodiaKoska se on SQL-laajennus, se voi sisältää siinä SQL-koodin

Estä rakenteet PL / SQL: ssä

PL / SQL järjestää koodin tyypillisesti lohkoiksi. Koodilohko ilman nimeä tunnetaan nimettömänä lohkona. Se tunnetaan nimettömänä estona, koska sitä ei ole tallennettu Oracle-tietokantaan. Katsotaanpa anonyymi lohko PL / SQL: ssä.

[DECLARE] -lausekkeet [BEGIN] suorituslausekkeet [EXCEPTION] -poikkeuslausekkeet END /

Yllä olevaa kaaviota tarkasteltaessa voidaan nähdä, että lohkorakenne on jaettu neljään osaan, toisin sanoen ilmoitukseen, alkuun, poikkeukseen ja loppuun. Yritetään ymmärtää, miten lohkorakenne toimii PL / SQL: ssä. Kaikista näistä osista suoritusosa on pakollinen ja loput ovat valinnaisia.

  • JULISTAA avainsanalla käytetään ilmoitusta varten, jota käytetään ilmoittamaan tietotyypit ja rakenteet, kuten muuttujat, toiminnot jne.

  • ALKAA avainsanaa käytetään suoritusosassa. Se on pakollinen ja sisältää kaikki suoritettavat lausekkeet. Tässä lohkossa määritetään liiketoimintalogiikka, voimme käyttää tässä lohkossa sekä menettely- että SQL-käskyjä.

  • POIKKEUS avainsanaa käytetään poikkeusosassa. Se sisältää kaikki poikkeuslausekkeet.

  • LOPPU avainsana merkitsee lohkon loppua ja taaksepäin viiva ‘/’ kertoo työkalulle, jota käytät (Oracle Database Tool) PL / SQL-lohkon suorittamiseen.

Tässä on yksinkertainen esimerkki siitä, kuinka voimme käyttää PL / SQL-koodia.

ALOITA NULL LOPPU /

Nyt kun tiedämme, kuinka lohkorakenne toimii PL / SQL: ssä, ymmärretään PL / SQL: n eri näkökohtia, kuten arvojen ilmoittaminen, nimeäminen ja muuttujien määrittäminen.

PL / SQL-muuttujat

Muuttuja PL / SQL: ssä on pohjimmiltaan nimi, joka vaihtelee tai väliaikainen tallennustila, joka tukee tiettyä tietotyyppiä. Katsotaanpa, kuinka voimme käyttää muuttujia PL / SQL-ohjelmassa.

Muuttujien nimeämissäännöt

PL / SQL noudattaa seuraavia sääntöjä muuttujien nimeämisessä.

  • Muuttuja saa olla enintään 31 merkkiä

  • Muuttujan nimen tulisi alkaa ASCII-merkillä. Koska PL / SQL erottaa isot ja pienet kirjaimet, isot ja pienet kirjaimet ovat erilaisia ​​muuttujia.

  • Ensimmäisen merkin jälkeen on oltava erikoismerkki ($, _) tai mikä tahansa numero.

Yleissopimusten nimeäminen

Käytä muuttujia käyttämällä seuraavia alla lueteltuja nimeämiskäytäntöjä.

Etuliite Tietotyyppi
v_VARCHAR2
n_MÄÄRÄ
t_PÖYTÄ
r_RIVI
d_PÄIVÄMÄÄRÄ
b_BOOLEN

Julistus

Yritetään ymmärtää, kuinka muuttujailmoitus tehdään PL / SQL: ssä

Ilmoitus sisältää muuttujan nimen, jota seuraa tietotyyppi ja erotettu puolipisteellä. Seuraava esimerkki osoittaa, kuinka muuttuja voidaan ilmoittaa PL / SQL: ssä.

ILMOITA v_name VARCHAR (25) n_age NUMERO (3) BEGIN NULL END

Voit myös lisätä tietotyypin pituuden, kuten olemme tehneet yllä olevassa esimerkissä.

Ankkurit

Ankkuri viittaa periaatteessa% TYPE-avainsanan käyttöön, joka ilmoittaa muuttujan tietotyypillä, joka liittyy taulukon tietyn sarakkeen sarakkeen tietotyyppiin.

Katsokaa esimerkkiä tämän ymmärtämiseksi. Oletetaan, että meillä on taulukko TYÖNTEKIJÖITÄ, voimme käyttää ankkureita seuraavalla tavalla.

ILMOITA v_name TYÖNTEKIJÄ.NIMI% TYPE n_age TYÖNTEKIJÄ.AGE% TYYPPI ALOITA NULL LOPPU /

Tehtävä

Muuttujan määritys on melko helppoa, voimme määrittää määritysoperaattorin avulla arvoja muuttujalle. Seuraava esimerkki osoittaa, kuinka voimme määrittää arvoja muuttujalle.

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

Alustus

Voimme myös alustaa muuttujan arvon ilmoitusosassa. Seuraava esimerkki osoittaa, kuinka voimme alustaa arvot muuttujaksi.

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

Nyt kun tiedämme kuinka voimme työskennellä muuttujien kanssa, yritetään ymmärtää kuinka käytämme funktioita PL / SQL: ssä.

Toiminto PL / SQL: ssä

PL / SQL: n funktio on periaatteessa nimetty lohko, joka palauttaa arvon. Se tunnetaan myös aliohjelmana tai alaohjelmana, seuraava syntakse osoittaa, kuinka voimme käyttää funktioita PL / SQL: ssä.

Luo [TAI VAIHDA] FUNCTION-funktion_nimi [(parametri_1 [IN] [OUT] data_type, parametri_2 [IN] [OUT] data_type, parametri_N [IN] [OUT] data_type] PALUU return_data_type IS BEGIN käskyt return return_data_type EXCEPTION END /

Ensinnäkin sinun on määritettävä funktion nimi avainsanan jälkeen. Funktion nimen on aloitettava verbillä. Funktiolla ei voi olla mitään, yksi tai useampi parametri, jotka määritämme parametreissa. Meidän on määritettävä kunkin parametrin tietotyyppi nimenomaisesti, ja sitten tulee tila, joka voi jommankumman seuraavista.

kuinka kirjoittaa hälytys javascriptiin
  • SISÄÄN - IN-parametri on vain luku -parametri.

  • OUT - Se on vain kirjoitettava parametri

  • SISÄÄN ULOS - IN OUT -parametri on molemmat kirjoitus- ja kirjoitusparametri.

Tässä on yksinkertainen esimerkki siitä, kuinka käytämme toimintoja PL / SQL: ssä.

Luo tai vaihda toiminto try_parse (iv_numero VARCHAR2: ssa) PALAUTUMISNUMERO ALKAA PALAUTA_numeroon (iv_numero) POIKKEUS KUN MUUT SITTU PALAUTTAVAT NULL LOPPU

Funktion kutsuminen

Yritetään kutsua funktio, jonka olemme tehneet nimettömässä lohkossa seuraavassa esimerkissä.

ASETA PALVELUTUOTTEET KOKOON 1000000 ILMOITA n_x numero n_y numero n_z numero BEGIN n_x: = try_parse ('256') n_y: = try_parse ('29 .72 ') n_z: = try_parse (' pqrs ') DBMS_OUTPUT.PUT_LINE (n_x) DB1 n_y) DBMS_OUTPUT.PUT_LINE (n_z) LOPPU /

Voimme kutsua funktion myös SELECT-käskyssä. Nyt kun tiedämme kuinka voimme käyttää funktioita PL / SQL: ssä, yritetään ymmärtää miten toimimme PL / SQL: n menettelyjen kanssa.

c ++ lajittelutoiminto

PL / SQL-menettely

Menettely on pohjimmiltaan lohko, joka suorittaa tietyn tehtävän. Menettelyä käyttämällä voimme kääriä tai kapseloida monimutkaisen liiketoimintalogiikan ja käyttää niitä uudelleen sekä sovellus- että tietokantakerroksessa.

Katsotaanpa yksinkertainen esimerkki ymmärtääksemme kuinka menettely toimii PL / SQL: ssä

Luo tai vaihda menettelytapa mukautuspalkka (in_employee_id IN EMPLOYEES.EMPLOYEE_ID% TYPE, in_percent NUMBER) ON KÄYNNISSÄ - päivitä työntekijän palkka

Yllä olevassa esimerkissä meillä on kaksi parametria, menettely säätää palkan tietyllä prosenttiosuudella ja UPDATE-avainsana päivittää palkatietojen arvon.

Menettelyn otsikko

Avainsanaa IS edeltävää osaa kutsutaan menettelyn otsikoksi. Seuraavassa on muutamia viitteitä, jotka sinun on tunnettava työskennellessäsi menettelyjä.

  • skeema - Se on valintamallin valinnainen nimi, johon menettely kuuluu.

  • nimi - Menettelyn nimi, jonka pitäisi alkaa verbillä.

  • parametrit - Se on valinnainen luettelo parametreista.

  • AUTHID - Se määrittää, suoritetaanko menettely nykyisen käyttäjän tai menettelyn alkuperäisen omistajan etuoikeudella.

Menettely Body

Kaikkea IS-avainsanan jälkeen olevaa kutsutaan menettelyrungoksi. Meillä on ilmoitus-, poikkeus- ja toteutuslausekkeet menettelyssä. Toisin kuin toiminto, menettelyn RETURN-avainsanaa käytetään suorittamisen pysäyttämiseen ja ohjauksen palauttamiseen soittajalle.

Menettelyn kutsuminen

Katsotaanpa, kuinka voimme kutsua menettelyä PL / SQL: ssä.

EXEC-menettelynimi (param1, param2 ja hellipparamN)

Voimme kutsua menettelyjä ilman parametreja käyttämällä vain EXEC-avainsanaa ja menettelynimeä. Nyt kun tiedämme kuinka voimme toimia menettelyjen kanssa, yritetään ymmärtää kuinka sisäkkäisiä lohkoja käytetään PL / SQL: ssä.

Sisäkkäinen esto

Sisäkkäinen lohko on vain yhden tai useamman PL / SQL-lohkon yhdistelmä, jotta ohjelman suorittamista ja poikkeuksellista käsittelyä voidaan hallita paremmin.

Tässä on yksinkertainen esimerkki sisäkkäisestä lohkosta.

ASETA PALVELUTUOTE KOKOON 1000000 ILMOITA n_emp_id EMPLOYEES.EMPLOYEE_ID% TYPE: = & emp_id1 BEGIN DECLARE n_emp_id työntekijät. Työntekijä_id% TYPE: = & emp_id2 henkilötunnus työntekijät.edun_nimi% TYPE BUTIN VALITSE etunimi työntekijän '|| n_emp_id ||' on '|| v_name) POIKKEUS SEN kun no_data_found THEN DBMS_OUTPUT.PUT_LINE (' Employee '|| n_emp_id ||' not found ') END END /

Edellä olevassa esimerkissä ulompaa PL / SQL-lohkoa kutsutaan emolohkoksi tai sulkulohkoksi, sisempi lohko toisaalta tunnetaan alilohkona tai suljettuna lohkona.

Ei ole hieno ajatus käyttää samannimisiä muuttujia molemmissa lohkoissa, koska suorituksen aikana alilohkomuuttuja ohittaa vanhemman lohkomuuttujan. Se tapahtuu, koska PL / SQL antaa etusijan muuttujalle oman lohkonsa sisällä.

Estä tarra

Voimme voittaa tämän ongelman lohkotunnisteella, joka auttaa meitä viittaamaan lohkojen sisällä oleviin muuttujiin tarran avulla.

Tässä on yksinkertainen esimerkki siitä, kuinka voimme käyttää lohkotunnistetta.

 <>ILMOITA ... ALOITA ... LOPETA

Lohkotunnisteen käyttö parantaa koodin luettavuutta, parantaa hallintaa ja viittaa lohkoihin. Nyt kun tiedämme kuinka voimme työskennellä sisäkkäisten lohkojen kanssa, yritetään ymmärtää kuinka IF-LAUSEKE toimii PL / SQL: ssä.

IF-lausunto

PL / SQL: llä on kolme IF-lausuntoa

  • JOS SITTEN - Se on yksinkertaisin JOS LAUSUMA, jos ehto on tosi, lauseet suoritetaan, jos ehto on väärä, se ei tee mitään.

  • JOS SEN sitten - Tässä lisätään ELSE-lauseke vaihtoehtoiselle lausejärjestykselle.

  • JOS SITÄ ELSEIF - Sen avulla voimme suorittaa useita testiolosuhteita peräkkäin.

JOS Sitten syntaksia

JOS ehto Sitten järjestyksen_lausekkeet LOPETA JOS

JOS SITÄ MUUTA syntaksia

JOS ehto SEN JAKO_JOS_JOUKKOJEN JAKAUMA_JOSSEN_JAKAUMA_ASETUKSET JAKSO JOS

IF-THEN-ELSEIF-syntakse

JOS ehto1 Sitten sekvenssi_lauseet1 ELSIF ehto2 SIITÄ jakso_lauseet2 MUUTA sekvenssi_lauseet3 LOPETA JOS

Nyt kun olemme tehneet IF-lausunnon, katsokaamme CASE-käskyä PL / SQL: ssä.

CASE-lausunto

CASE-käsky auttaa periaatteessa suorittamaan lauseiden sarjan valitsimen perusteella. Valitsija voi tässä tapauksessa olla mikä tahansa, se voi olla muuttuja, funktio tai yksinkertainen lauseke. Tässä on yksinkertainen esimerkki CASE-lauseen syntaksin näyttämiseksi PL / SQL: ssä.

[<>] TAPAUS [TOSI | valitsin] WHEN lauseke1 SITTEN sekvenssi_lauseet1 MIKSI lauseke2 SIEN järjestys_lauseet2 ... KUN lausekeN SITTURI sekvenssi_lauseetN [MUUT sekvenssi_laatikotN + 1] LOPPUKAASI [tunniste_nimi]

Edellä olevassa syntaksissa CASE-avainsanan jälkeen tulee valitsin. PL / SQL arvioi valitsimen vain kerran selvittääkseen, mikä käsky on suoritettava.

Valitsinta seuraa WHEN-avainsana. Jos lauseke tyydyttää valitsinta, vastaava lause THEN-avainsanan jälkeen suoritetaan.

Nyt kun tiedämme kuinka voimme käyttää CASE-käskyä, yritetään ymmärtää miten käytämme silmukka-lauseita PL / SQL: ssä.

mikä on skanneriluokka java

Silmukka-ilmoitus

PL / SQL: n silmukka-lause on iteratiivinen käsky, jonka avulla voit suorittaa lauseiden sarjan useita kertoja. Tässä on yksinkertainen esimerkki silmukka-lauseen syntaksin näyttämiseksi PL / SQL: ssä.

LOOP-sekvenssi_lausekkeet LOPETA LOOP

Avainsanan LOOP ja END LOOP välissä on oltava vähintään yksi suoritettava käsky.

Silmukka EXIT-lauseella

EXIT ja EXIT kun lausekkeet antavat sinun poistua silmukasta. EXIT WHEN -käsky lopettaa silmukan ehdollisesti, kun taas EXIT lopettaa suorituksen ehdoitta.

LOOP ... POISTU KUN TILA LOPETA LOOP

Silmukan etiketti

Silmukkatunnistetta käytetään silmukkalaskurin muuttujan nimen määrittämiseen, kun sitä käytetään sisäkkäisessä silmukassa. Seuraavassa on silmukan tarran syntaksia.

 <>LOOP sequence_of_statements END LOOP -tunniste

Nyt kun tiedämme kuinka voimme käyttää silmukka-lauseita, katsokaamme silmukka-lauseita ymmärryksen parantamiseksi.

Vaikka Loop Statement

Voimme käyttää WHILE-silmukka-käskyä, kun suoritusten lukumäärää ei ole määritetty ennen kuin toteutus alkaa. Seuraavaa syntaksia käytetään WHILE-silmukka-käskyyn PL / SQL: ssä.

WHILE ehdon LOOP sekvenssi_lauseet LOPETA LOOP

Syntaksin ehto on looginen arvo tai lauseke, jonka arvioidaan olevan TOSI, EPÄTOSI tai NULL. Jos ehto on TOSI, lauseet suoritetaan, jos se on EPÄTOSI, suoritus pysähtyy ja ohjaus siirtyy seuraavaan suoritettavaan käskyyn.

Nyt kun tiedämme, kuinka voimme käyttää WHILE-silmukka-käskyä, katsokaamme FOR-silmukka-käskyä.

Silmukka-lauseelle

FOR-silmukka-lause PL / SQL: ssä antaa meille mahdollisuuden suorittaa lauseiden sarja tietyn määrän kertoja. Seuraava on syntaksi FOR-silmukka-käskyn käyttämiseksi PL / SQL: ssä

FOR loop_counter IN [REVERSE] alempi_sidottu .. korkeampi_sidottu LOOP-sekvenssi_lauseet LOPPU LOOP

PL / SQL luo paikallisen muuttujan loop_counter automaattisesti silmukan INTEGER-tietotyypillä, jotta sinun ei tarvitse ilmoittaa sitä nimenomaisesti. Alasuuntainen..higherbound on alue, jolla silmukka toistaa. Lisäksi sinulla on oltava vähintään yksi suoritettava käsky LOOP- ja END LOOP-avainsanojen välillä.

Nyt kun tiedämme kuinka voimme käyttää silmukka-lauseita PL / SQL: ssä, katsotaanpa PL / SQL: n poikkeuksellinen käsittely.

Poikkeuksellinen käsittely

PL / SQL: ssä kaikenlaisia ​​virheitä käsitellään poikkeuksena. Poikkeusta voidaan pitää erityisehtona, joka voi muuttaa tai muuttaa suoritusvirtaa. PL / SQL: ssä on kahdenlaisia ​​poikkeuksia.

  • Järjestelmän poikkeus - PL / SQL-ajoaika nostaa sen havaitessaan virheen.

  • Ohjelmoijan määrittelemä poikkeus - Ohjelmoija määrittelee nämä poikkeukset tietyssä sovelluksessa.

Poikkeuksen määritteleminen

PL / SQL: ssä oleva poikkeus on ilmoitettava, ennen kuin sitä voidaan nostaa. Voimme määritellä poikkeuksen EXCEPTION-avainsanalla, kuten olemme tehneet alla olevassa esimerkissä.

EXCEPTION_NAME EXCEPTION

Poikkeuksen saamiseksi käytämme RAISE-avainsanaa.

NOSTA EXCEPTION_NAME

Joten kyse oli PL / SQL: stä, toivottavasti tämä artikkeli on auttanut sinua lisäämään tietosi arvoa. Lisätietoja SQL: stä tai tietokannoista on kattavassa lukulistassamme: .

Jos haluat saada jäsenneltyä koulutusta MySQL: stä, tutustu meidän joka sisältää ohjaajan vetämän live-koulutuksen ja tosielämän projektikokemuksen. Tämä koulutus auttaa ymmärtämään MySQL: ää perusteellisesti ja auttaa sinua hallitsemaan aihetta.

Onko sinulla kysymys meille? Mainitse se kommenttiosassa ” PL / SQL-opetusohjelma ”Ja palaan takaisin sinuun.