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?
- Bloķēt struktūras PL / SQL
- PL / SQL mainīgie
- Funkcija PL / SQL
- PL / SQL procedūra
- Ligzdots bloks
- IF paziņojums
- CASE paziņojums
- Loop paziņojums
- Ārkārtas apstrāde
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 .
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šanai | PL / 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ādara | PL / SQL nosaka, kā lietas ir jādara |
Tas izpilda vienu paziņojumu | Tas uzreiz izpilda paziņojumu bloku. |
SQL galvenokārt tiek izmantots, lai manipulētu ar datiem | Savukārt PL / SQL tiek izmantots, lai izveidotu lietojumprogrammas |
Tas nedrīkst saturēt PL / SQL kodu | Tā 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.