PL / SQL apmācība: viss, kas jums jāzina par PL / SQL



PL / SQL apmācība aptver visu nepieciešamo jēdzienu, kas nepieciešami PL / SQL programmēšanas apgūšanai, detalizētu skaidrojumu ar dažādiem piemēriem

PL / SQL ir procesuāla valoda, kas novērš trūkumus, ar kuriem saskaras Strukturēta vaicājumu valoda . Tas ir SQL paplašinājums, un mēs pat varam izmantot SQL vaicājumus bez apgrūtinājumiem nevienā PL / SQL lietojumprogrammā vai programmā. Šajā PL / SQL apmācībā mēs detalizēti izpētīsim PL / SQL pamatjēdzienus. Šajā rakstā ir apskatītas šādas tēmas.

Kas ir PL / SQL?

Tas nozīmē procesuālās valodas paplašinājumu strukturēta vaicājuma valoda . Oracle izveidoja PL / SQL, kas paplašina dažus SQL ierobežojumus, lai sniegtu visaptverošāku risinājumu, lai izveidotu misijai kritiskas lietojumprogrammas, kas darbojas Oracle .





logo-pl / sql apmācība - edureka

Iespējas

  • PL / SQL nodrošina procesuālās valodas funkcionalitāti, piemēram, lēmumu pieņemšanu, iterāciju utt.

  • Izmantojot vienu komandu, PL / SQL var izpildīt vairākus vaicājumus.



  • Mēs varam arī atkārtoti izmantot PL / SQL vienības, piemēram, funkcijas, aktivizētājus, procedūras utt., Kas pēc izveides tiek glabāti datu bāzē.

  • PL / SQL ir arī izņēmumu apstrādes bloks, kas apstrādā PL / SQL izņēmumus.

  • Izmantojot PL / SQL, ir iespējama arī plaša kļūdu pārbaude



  • PL / SQL rakstītās lietojumprogrammas ir pārnēsājamas ar citu aparatūru un operētājsistēmām, ja oracle ir jādarbojas.

PL / SQL vs SQL

SQL PL / SQL
SQL ir viens vaicājums, ko izmanto DDL un DML darbību veikšanaiPL / SQL ir kodu bloks, ko izmanto, lai definētu visu programmu vai procedūru / funkciju utt
Tas īsti nenosaka, kā lietas jādara, drīzāk nosaka to, kas jādaraPL / SQL nosaka, kā lietas ir jādara
Tas izpilda vienu paziņojumuTas uzreiz izpilda paziņojumu bloku.
SQL galvenokārt tiek izmantots, lai manipulētu ar datiemSavukārt PL / SQL tiek izmantots, lai izveidotu lietojumprogrammas
Tas nedrīkst saturēt PL / SQL koduTā kā tas ir SQL paplašinājums, tajā var būt SQL kods

Bloķēt struktūras PL / SQL

PL / SQL parasti sakārto kodu blokos. Kodu bloks bez nosaukuma ir pazīstams kā anonīms bloks. Tas ir pazīstams kā anonīms bloks, jo tas netiek saglabāts Oracle datu bāzē. Apskatīsim anonīmu bloku PL / SQL.

[DECLARE] deklarācijas paziņojumi [BEGIN] izpildes paziņojumi [EXCEPTION] izņēmumu paziņojumi END /

Aplūkojot iepriekš parādīto diagrammu, mēs varam redzēt, ka bloka struktūra ir sadalīta četrās daļās, tas ir, deklarācija, sākums, izņēmums un beigas. Mēģināsim saprast, kā bloka struktūra darbojas PL / SQL. No visām šīm sadaļām izpildes sadaļa ir obligāta, bet pārējās nav obligātas.

  • DEKLARĒ atslēgvārds tiek izmantots, lai deklarācijas sadaļa tiek izmantota, lai deklarētu datu tipus un struktūras, piemēram, mainīgos, funkcijas utt.

  • SĀKT izpildes sadaļā tiek izmantots atslēgvārds. Tas ir obligāts un satur visus paziņojumus, kas jāizpilda. Šajā blokā tiek definēta biznesa loģika, šajā blokā mēs varam izmantot gan procesuālos, gan SQL priekšrakstus.

    fibonacci sērijas kods java
  • The IZŅEMŠANA atslēgvārds tiek izmantots izņēmumu sadaļā. Tajā ir visi izņēmumu paziņojumi.

  • BEIGT atslēgvārds atzīmē bloka beigas, un slīpsvītras zīme ‘/’ norāda rīkam, kuru izmantojat (Oracle Database Tool), lai izpildītu PL / SQL bloku.

Šeit ir vienkāršs piemērs, lai parādītu, kā mēs varam izmantot PL / SQL kodu.

SĀKT NULL END /

Tagad, kad mēs zinām, kā bloka struktūra darbojas PL / SQL, ļaujiet mums saprast dažādus PL / SQL aspektus, piemēram, vērtību deklarēšanu, nosaukšanu un piešķiršanu mainīgajiem.

PL / SQL mainīgie

PL / SQL mainīgais būtībā ir nosaukums, kas mainās, vai pagaidu krātuves vieta, kas atbalsta noteiktu datu tipu. Apskatīsim, kā mēs varam izmantot mainīgos PL / SQL programmā.

Mainīgo nosaukšanas noteikumi

Mainīgo mainīšanai PL / SQL ievēro šādus noteikumus.

  • Mainīgais lielums nedrīkst pārsniegt 31 rakstzīmi

  • Mainīgā nosaukumam jāsākas ar ASCII rakstzīmi. Tā kā PL / SQL ir reģistrjutīgs, lielie un mazie burti būs atšķirīgi mainīgie.

  • Pēc pirmās rakstzīmes jābūt īpašam simbolam ($, _) vai jebkuram skaitlim.

Konvenciju nosaukšana

Lai izmantotu mainīgos, izmantojiet tālāk norādītās nosaukšanas konvencijas.

Priedēklis Datu tips
v_VARCHAR2
n_NUMBER
t_TABULA
r_RINDA
d_DATUMS
b_BOLU

Deklarācija

Mēģināsim saprast, kā mainīgā deklarēšana tiek veikta PL / SQL

Deklarācijā ir mainīgā nosaukums, kam seko datu tips un atdalīts ar semikolu. Šis ir piemērs, lai parādītu, kā var deklarēt mainīgo PL / SQL.

DECLARE v_name VARCHAR (25) n_age NUMBER (3) BEGIN NULL END

Varat arī pievienot datu veida garumu, kā mēs to izdarījām iepriekš sniegtajā piemērā.

Enkuri

Enkurs būtībā attiecas uz atslēgvārda% TYPE izmantošanu, lai deklarētu mainīgo ar datu tipu, kas saistīts ar kolonnas datu tipu konkrētā kolonnā tabulā.

Apskatiet piemēru, lai to saprastu. Pieņemsim, ka mums ir tabula DARBINIEKI, enkurus mēs varam izmantot šādā veidā.

DECLARE v_name EMPLOYEE.NAME% TYPE n_age EMPLOYEE.AGE% TYPE BEGIN NULL END /

Uzdevums

Mainīgā piešķiršana ir diezgan vienkārša, mēs varam izmantot piešķiršanas operatoru, lai piešķirtu mainīgajam vērtības. Šis piemērs parāda, kā mēs varam piešķirt vērtības mainīgajam.

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

Inicializēšana

Mēs varam inicializēt mainīgā vērtību arī deklarācijas sadaļā. Šis piemērs parāda, kā mēs varam inicializēt vērtības mainīgajam.

DECLARE v_name VARCHAR (20) = 'edureka' n_course VARCHAR (10) = 'sql' SĀKT NULL END /

Tagad, kad mēs zinām, kā mēs varam strādāt ar mainīgajiem, mēģināsim saprast, kā mēs izmantosim funkcijas PL / SQL.

Funkcija PL / SQL

Funkcija PL / SQL būtībā ir nosaukts bloks, kas atgriež vērtību. To sauc arī par apakšprogrammu vai apakšprogrammu, šī sintakse parāda, kā mēs varam izmantot funkcijas PL / SQL.

CREATE [OR REPLACE] FUNCTION function_name [(parametrs_1 [IN] [OUT] datu_tips, parametrs_2 [IN] [OUT] datu_tips, parametrs_N [IN] [OUT] datu_tips] RETURN return_data_type IS BEGIN paziņojumi return return_data_type

Pirmkārt, pēc atslēgvārda jānorāda funkcijas nosaukums. Funkcijas nosaukumam jāsākas ar darbības vārdu. Funkcijai var būt neviens, viens vai vairāki parametri, kurus mēs norādām parametros. Mums ir skaidri jānorāda katra parametra datu tips, un pēc tam nāk režīms, kas var kādu no šīm darbībām.

  • IN - IN parametrs ir tikai lasāms parametrs.

  • OUT - Tas ir tikai rakstīšanas parametrs

  • IEKŠĀ ĀRĀ - IN OUT parametrs ir gan lasīšanas, gan rakstīšanas parametrs.

Šeit ir vienkāršs piemērs, lai parādītu, kā mēs izmantojam funkcijas PL / SQL.

IZVEIDOT VAI NOMAINĪT FUNKCIJU try_parse (iv_number IN VARCHAR2) ATGRIEŠANAS NUMURS SĀK ATGRIEZTIES uz_numuru (iv_number) IZŅEMŠANU, KAD Citi TAD ATGRIEZT NULL BEIGU

Funkcijas izsaukšana

Mēģināsim izsaukt funkciju, kuru esam izveidojuši anonīmā blokā, šajā piemērā.

UZSTĀDĪT KALPOŠANAS REZULTĀTU 1000000 DEKLARĒT n_x numuru n_y numuru n_z skaitli SĀKTIES n_y) DBMS_OUTPUT.PUT_LINE (n_z) END /

Mēs varam izsaukt funkciju arī SELECT paziņojumā. Tagad, kad mēs zinām, kā mēs varam izmantot funkcijas PL / SQL, mēģināsim saprast, kā mēs strādājam ar procedūrām PL / SQL.

PL / SQL procedūra

Procedūra būtībā ir bloks, kas veic noteiktu uzdevumu. Izmantojot procedūru, mēs varam ietīt vai iekapsulēt sarežģītu biznesa loģiku un atkārtoti izmantot tos gan lietojumprogrammu, gan datu bāzes slānī.

Apskatīsim vienkāršu piemēru, lai saprastu, kā procedūra darbojas PL / SQL

IZVEIDOT VAI NOMAINĪT PROCEDŪRU

Iepriekš minētajā piemērā mums ir divi parametri: procedūra pielāgo algu par noteiktu procentuālo daļu, un UPDATE atslēgvārds atjaunina algu informācijas vērtību.

Procedūras galvene

Sadaļu pirms atslēgvārda IS sauc par procedūras galveni. Tālāk ir sniegti daži norādījumi, kas jāzina, strādājot ar procedūrām.

  • shēma - Procedūra pieder izvēles shēmas nosaukumam.

  • nosaukums - Procedūras nosaukums, kam jāsākas ar darbības vārdu.

  • parametri - Tas ir izvēles parametru saraksts.

  • AUTHID - Tas nosaka, vai procedūra tiks izpildīta ar pašreizējā lietotāja vai procedūras sākotnējā īpašnieka privilēģiju.

Procedūras struktūra

Visu, kas nāk pēc atslēgvārda IS, sauc par procedūras ķermeni. Procedūras struktūrā mums ir deklarācija, izņēmums un izpildes paziņojumi. Atšķirībā no funkcijas, RETURN atslēgvārds procedūrā tiek izmantots, lai apturētu izpildi un atgrieztu vadību zvanītājam.

Procedūras izsaukšana

Apskatīsim, kā mēs varam izsaukt procedūru PL / SQL.

EXEC procedūras_nosaukums (param1, param2 un hellipparamN)

Mēs varam izsaukt procedūras bez parametriem, izmantojot tikai EXEC atslēgvārdu un procedūras nosaukumu. Tagad, kad mēs zinām, kā mēs varam strādāt ar procedūrām, mēģināsim saprast, kā ligzdotie bloki tiek izmantoti PL / SQL.

Ligzdots bloks

Ligzdots bloks nav nekas cits kā viena vai vairāku PL / SQL bloku kombinācija, lai labāk kontrolētu izpildi un ārkārtas apstrādes iespējas programmā.

Šeit ir vienkāršs ligzdota bloka piemērs.

IESTATĪT SERVEROUTPUT PAR IZMĒRU 1000000 DEKLARĒT darbinieka '|| n_emp_id ||' ir '|| v_name) IZŅEMŠANA, KAD Nē_dati_found THEN DBMS_OUTPUT.PUT_LINE (' Employee '|| n_emp_id ||' not found ') END END /

Ārējais PL / SQL bloks iepriekš minētajā piemērā ir pazīstams kā vecāku bloks vai pievienojošais bloks, savukārt iekšējais bloks ir pazīstams kā bērnu bloks vai pievienots bloks.

Nav lieliska ideja izmantot mainīgos ar vienādiem nosaukumiem abos blokos, jo izpildes laikā pakārtotais bloka mainīgais ignorēs vecāku bloka mainīgo. Tas notiek tāpēc, ka PL / SQL piešķir galveno prioritāti mainīgajam sava bloka iekšienē.

Bloķēt iezīmi

Mēs varam pārvarēt šo problēmu, izmantojot bloka etiķeti, kas mums palīdz, izmantojot etiķeti, atsauces uz mainīgajiem lielumiem blokos.

Šeit ir vienkāršs piemērs, lai parādītu, kā mēs varam izmantot bloka etiķeti.

 <>DEKLARĒT ... SĀKT ... BEIGT

Bloka etiķetes izmantošana palīdz uzlabot koda lasāmību, iegūt labāku kontroli un atsauces uz blokiem. Tagad, kad mēs zinām, kā mēs varam strādāt ar ligzdotajiem blokiem, mēģināsim saprast, kā IF STATEMENT darbojas PL / SQL.

IF paziņojums

PL / SQL ir trīs IF PAZIŅOJUMI

  • JA TAD - Tas ir vienkāršākais IF STATEMENT, ja nosacījums ir patiess, paziņojumi tiks izpildīti, ja nosacījums ir nepatiess, tas nedara neko.

  • JA TAD TAD - Tajā alternatīva paziņojumu secībai ir pievienota ELSE klauzula.

  • JA-TAD-ELSEIF - Tas ļauj secīgi izpildīt vairākus testa apstākļus.

JA-TAD Sintakse

Nosacījums TAD SADAĻA secība

IF-TAD-CITA Sintakse

def __init __ (pats)
Nosacījums TAD sekvences_sasniegumu_stats ELSE sekvences_elos_status_beigt IF

IF-TAD-ELSEIF sintakse

IF nosacījums1 TAD secība_sastāvi1 ELSIF nosacījums2 TAD sekvence_noteikumi2 CITI secības_nosacījumi3 END IF

Tagad, kad mēs esam paveikuši IF STATEMENT, apskatīsim CASE paziņojumu PL / SQL.

CASE paziņojums

CASE paziņojums būtībā palīdz izpildīt teikumu secību, pamatojoties uz atlasītāju. Selektors šajā gadījumā var būt jebkas, tas var būt mainīgais, funkcija vai vienkārša izteiksme. Šeit ir vienkāršs piemērs, lai parādītu CASE priekšraksta sintaksi PL / SQL.

[<>] LIETA [PATIESA | selektors] WHEN izteiksme1 TAD secība_sastāvi1 KAD izteiksme2 TAD sekvence_nosacījumi2 ... KAD izteiksmeN TAD sekvence_nosacījumiN [ELSE secība_statiNN 1] END CASE [etiķetes_nosaukums]

Iepriekš aprakstītajā sintaksē pēc atslēgas CASE nāk atlasītājs. PL / SQL novērtēs selektoru tikai vienu reizi, lai noteiktu, kurš priekšraksts ir jāizpilda.

Atlasītājs seko atslēgvārdam WHEN. Ja izteiksme apmierina atlasītāju, tiek izpildīts atbilstošais paziņojums pēc TAD atslēgvārda.

Tagad, kad mēs zinām, kā mēs varam izmantot CASE paziņojumu, mēģināsim saprast, kā mēs izmantosim PL / SQL cilpas paziņojumus.

Loop paziņojums

Cilpa paziņojums PL / SQL ir iteratīvs paziņojums, kas ļauj izpildīt pārskatu secību vairākas reizes. Šeit ir vienkāršs piemērs, lai parādītu cilpas priekšraksta sintaksi PL / SQL.

LOOP secība_sastāvi END LOOP

Starp atslēgvārdu LOOP un END LOOP jābūt vismaz vienam izpildāmam priekšrakstam.

Cilpa ar EXIT paziņojumu

EXIT un EXIT, kad paziņojumi ļauj iziet no cilpas. EXIT WHEN paziņojums izbeidz cilpu nosacīti, bet EXIT izpildi bez nosacījumiem.

LOOP ... Izejiet, kad stāvoklis END LOOP

Loop etiķete

Cilpas etiķete tiek izmantota, lai kvalificētu cilpas skaitītāja mainīgā nosaukumu, ja to izmanto ligzdotā cilpā. Tālāk ir cilpas etiķetes sintakse.

 <>LOOP secības_apstākļi END LOOP etiķete

Tagad, kad mēs zinām, kā mēs varam izmantot cilpas paziņojumus, ļaujiet mums labāk apskatīt cilpu paziņojumus.

Kaut Cilpa paziņojums

Kad izpildes skaits nav noteikts, kamēr izpilde nav sākta, mēs varam izmantot cilpu WHILE. Šī sintakse tiek izmantota WHILE cilpas paziņojumam PL / SQL.

KAMĒR nosacījums LOOP secību_sakalpojumi END LOOP

Sintakses nosacījums ir Būla vērtība vai izteiksme, kas tiek vērtēta kā PATIESA, PATIESA vai NULL. Ja nosacījums ir PATIESA, paziņojumi tiks izpildīti, ja tas ir FALSE, izpilde apstājas un vadība pāriet uz nākamo izpildāmo priekšrakstu.

Tagad, kad mēs zinām, kā mēs varam izmantot WHILE cilpas paziņojumu, apskatīsim FOR cilpas paziņojumu.

Cilpa paziņojumam

FOR loop cikls PL / SQL ļauj mums izpildīt pārskatu secību noteiktu skaitu reižu. Tālāk ir sintakse, lai PL / SQL izmantotu FOR loop paziņojumu

FOR loop_counter IN [REVERSE] zemāks_saistīts .. augstāks_saistīts LOOP secību_savilkumi END LOOP

PL / SQL automātiski izveido lokālo mainīgo loop_counter ar cilpas INTEGER datu tipu, lai jums tas nebūtu skaidri jādeklarē. Apakšējā robeža .. augstais ir diapazons, kurā cilpa atkārtojas. Tāpat starp atslēgvārdiem LOOP un END LOOP jābūt vismaz vienam izpildāmam priekšrakstam.

Tagad, kad mēs zinām, kā mēs varam izmantot cilpas paziņojumus PL / SQL, ļaujiet mums apskatīt ārkārtas apstrādi PL / SQL.

Ārkārtas apstrāde

PL / SQL jebkura veida kļūdas tiek uzskatītas par izņēmumu. Izņēmumu var uzskatīt par īpašu nosacījumu, kas var mainīt vai mainīt izpildes plūsmu. PL / SQL ir divu veidu izņēmumi.

  • Sistēmas izņēmums - Kad tiek konstatēta kļūda, to paaugstina PL / SQL izpildlaiks.

  • Programmētāja noteikts izņēmums - Šos izņēmumus programmētājs nosaka konkrētā lietojumprogrammā.

Izņēmuma definēšana

PL / SQL izņēmums ir jādeklarē, pirms to var izvirzīt. Mēs varam definēt izņēmumu, izmantojot EXCEPTION atslēgvārdu, kā mēs to darījām zemāk esošajā piemērā.

EXCEPTION_NAME EXCEPTION

Lai radītu izņēmumu, mēs izmantojam RAISE atslēgvārdu.

PALIELINIET IZŅĒMUMU

Tātad, tas viss bija par PL / SQL, es ceru, ka šis raksts jums ir palīdzējis pievienot vērtību jūsu zināšanām. Lai iegūtu papildinformāciju par SQL vai datu bāzēm, varat skatīt mūsu visaptverošo lasīšanas sarakstu šeit: .

Ja vēlaties iegūt strukturētu apmācību par MySQL, pārbaudiet mūsu vietni kas nāk ar instruktoru vadītu tiešraides apmācību un reālās dzīves projektu pieredzi. Šīs apmācības palīdzēs jums padziļināti izprast MySQL un palīdzēs jums apgūt priekšmetu.

Vai mums ir jautājums? Lūdzu, pieminējiet to komentāru sadaļā PL / SQL apmācība ”Un es sazināšos ar jums.