30 most important pl sql interview questions
Najpogostejša vprašanja o intervjuju za PL / SQL s primeri, ki vam bodo v pomoč pri pripravi na prihodnji intervju:
Kaj je PL / SQL?
PL / SQL (Procedural Language / SQL) je v bistvu procesna razširitev Oracle - SQL. PL / SQL uporabniku pomaga pri razvoju zapletenih aplikacij baz podatkov z uporabo nadzornih struktur, postopkov, funkcij, modulov itd.
V tem članku bomo razpravljali o najboljših vprašanjih in odgovorih za PL / SQL.
PL / SQL Intervju Vprašanja in odgovori
Začnimo!!
V # 1) Razlikovati PL / SQL in SQL?
Odgovor: Razliko med SQL in PL / SQL lahko razvrstimo na naslednji način:
| SQL | PL / SQL |
|---|---|
| SQL je naravni jezik, ki je zelo koristen za interaktivno obdelavo. | PL / SQL je postopkovna razširitev Oracle - SQL. |
| SQL ne ponuja nobenih postopkovnih zmožnosti, kot je testiranje pogojev in zanke. | PL / SQL podpira postopkovne zmožnosti, pa tudi funkcije z visokim jezikom, kot so pogojni stavki, stavki v zanki itd. |
| Vse strežnike SQL strežnik baz podatkov izvrši enega za drugim, zato je to dolgotrajen postopek. | Stavki PL / SQL hkrati pošljejo celoten blok stavkov strežniku baz podatkov, s čimer se znatno zmanjša omrežni promet. |
| V SQL ni nobenih postopkov za obdelavo napak. | PL / SQL podpira prilagojeno obdelavo napak. |
V # 2) Navedite značilnosti PL / SQL?
Odgovor:
Značilnosti PL / SQL so naslednje:
- PL / SQL omogoča dostop in skupno uporabo istih podprogramov več aplikacij.
- Znana je po prenosljivosti kode, saj jo je mogoče izvajati v katerem koli operacijskem sistemu, če je nanjo naložen Oracle.
- S PL / SQL lahko uporabniki napišejo svoje prilagojene rutine za ravnanje z napakami.
- Izboljšana zmogljivost transakcij z integracijo v podatkovni slovar Oracle.
V # 3) Katere vrste podatkov so na voljo v PL / SQL?
Odgovor: Tipi podatkov opredeljujejo načine za prepoznavanje vrste podatkov in z njimi povezanih operacij.
Obstajajo 4 vrste vnaprej določenih tipov podatkov, razložene na naslednji način:
- Vrste podatkov skalarja: Skalarni podatkovni tip je atomski podatkovni tip, ki nima nobenih notranjih komponent.
- Na primer
- CHAR (obseg vrednosti znakov s fiksno dolžino med 1 in 32.767 znaki)
- VARCHAR2 (obseg vrednosti znakov s spremenljivo dolžino med 1 in 32.767 znaki)
- ŠTEVILO (fiksno-decimalne, plavajoče-decimalne ali celoštevilske vrednosti)
- BOOLEAN (logični podatkovni tip za TRUE FALSE ali NULL vrednosti)
- DATUM (shrani podatke o datumu in času)
- LONG (podatki znakov spremenljive dolžine)
- Vrste sestavljenih podatkov: Sestavljeni podatkovni tip je sestavljen iz drugih podatkovnih vrst in notranjih komponent, ki jih je mogoče enostavno uporabljati in upravljati. Na primer, SNEMI, TABELA IN SPREMENJA.
- Tipi referenčnih podatkov: Referenčni podatkovni tip vsebuje vrednosti, imenovane kazalci, ki označujejo druge programske postavke ali podatkovne postavke. Na primer, REF KURSOR.
- Vrste podatkov velikih predmetov: Podatkovni tip Large Object vsebuje vrednosti, imenovane lokatorji, ki določajo lokacijo velikih predmetov (kot so video posnetki, grafične slike itd.), Shranjenih zunaj vrstice.
- Na primer
- BFILE (binarna datoteka)
- BLOB (binarni velik predmet)
- CLOB (Znak velik predmet)
- NCLOB (velik objekt tipa NCHAR)
Priporočeno branje = >> PL Tipi podatkov PL SQL
V # 4) Na primeru pojasnite namen podatkovnih tipov% TYPE in% ROWTYPE?
Odgovor: PL / SQL za sidranje uporablja atribut deklaracije% TYPE. Ta atribut zagotavlja podatkovni tip spremenljivke, konstante ali stolpca. Atribut% TYPE je uporaben pri razglasitvi spremenljivke, ki ima enak podatkovni tip kot stolpec tabele.
Na primer, spremenljivka m_empno ima enak tip podatkov in velikost kot stolpec empno v tabeli emp.
m_empno emp.empno%TYPE;Atribut% ROWTYPE se uporablja za razglasitev spremenljivke za zapis z enako strukturo kot vrstica v tabeli. Vrstica je definirana kot zapis, njena polja pa imajo enaka imena in podatkovne vrste kot stolpci v tabeli ali pogledu.
Na primer:
dept_rec dept%ROWTYPE;To razglasi zapis, ki lahko shrani celotno vrstico za tabelo DEPT.
V # 5) Kaj razumete pod paketi PL / SQL?
Odgovor: Paketi PL / SQL so predmeti sheme, ki na enem mestu združujejo funkcije, shranjene procedure, kazalce in spremenljivke.
Paketi imajo 2 obvezna dela:
- Specifikacije paketa
- Telo paketa
V # 6) Kaj razumete pod kazalci PL / SQL?
Odgovor: PL / SQL zahteva posebno zmožnost pridobivanja in obdelave več kot ene vrstice, ta vir pa je znan kot kazalci. Kazalec je kazalec na območje konteksta, ki je območje pomnilnika, ki vsebuje stavke SQL in informacije za obdelavo stavkov.
Kurzor PL / SQL je v bistvu mehanizem, po katerem se izbere več vrstic podatkov iz baze podatkov in nato vsaka vrstica v programu obdela posamezno.
V # 7) Pojasnite vrste kazalke.
najboljši sistemski optimizator za Windows 10
Odgovor: Obstajata dve vrsti kazalcev.
Razloženi so na naslednji način:
a) eksplicitni kazalci: Za poizvedbe, ki vrnejo več kot eno vrstico, programer razglasi in poimenuje izrecno kazalko. Če želite uporabiti eksplicitni kurzor v PL / SQL, sledite 4 korakom
- Navedite kazalko
Sintaksa: KURSOR je
Stavek SELECT;
Tu je ime, dodeljeno kurzorju, stavek SELECT pa poizvedba, ki vrne vrstice v aktivni niz kurzorja.
- Odprite kazalko
Sintaksa: ODPRTO ;
Kje, je ime prej definiranega kazalca.
- Pridobi vrstice s kazalca
Sintaksa: PRENOS V;
Tu se sklicuje na ime predhodno definiranega kazalca, iz katerega se pridobivajo vrstice.
predstavlja seznam spremenljivk, ki bodo prejele pridobljene podatke.
- Zapiranje kurzorja
Sintaksa: ZAPRTO;
Tukaj je ime kazalca, ki se zapira.
b) Implicitni kazalci: Ko se izvede kateri koli stavek SQL, PL / SQL samodejno ustvari kazalko, ne da bi opredelil, da so takšni kazalci znani kot implicitni kazalci.
Za naslednje izjave PL / SQL uporablja implicitne kazalce
- VSTAVI
- NADGRADNJA
- IZBRIŠI
- SELECT (poizvedbe, ki vrnejo natanko eno vrstico)
V # 8) Kdaj uporabimo sprožilce?
Odgovor: Beseda 'Sprožilec' pomeni aktivirati. V PL / SQL je sprožilec shranjena procedura, ki definira dejanje, ki ga izvede baza podatkov, ko se izvede dogodek, povezan z bazo podatkov.
Sprožilci so potrebni predvsem za naslednje namene:
- Da bi ohranili zapletene omejitve integritete
- Pregled podatkov preglednice s snemanjem sprememb
- Signaliziranje drugih dejanj programa, ko se spremenijo tabele
- Uveljavljanje zapletenih poslovnih pravil
- Preprečevanje neveljavnih transakcij
V # 9) Pojasnite razliko v izvajanju sprožilcev in shranjenih postopkih?
Odgovor: Shranjena procedura se izvrši eksplicitno z izdajo izjave o klicu postopka iz drugega bloka prek klica procedure z argumenti.
Sprožilec se izvede implicitno, kadar koli se zgodi kateri koli sprožilni dogodek, kot je pojav stavkov DML.
V # 10) Pojasnite razliko med sprožilci in omejitvami?
Odgovor: Sprožilci se od omejitev razlikujejo na naslednje načine:
| Sprožilci | Omejitve |
|---|---|
| Vplivajo samo na tiste vrstice, dodane po omogočenem sprožilcu. | Vpliva na vse vrstice tabele, vključno s tistimi, ki že obstajajo, ko je omejitev omogočena. |
| Sprožilci se uporabljajo za izvajanje zapletenih poslovnih pravil, ki jih ni mogoče izvajati z uporabo omejitev integritete. | Omejitve ohranjajo celovitost baze podatkov. |
V # 11) Kaj je blok PL / SQL?
Odgovor: V PL / SQL so stavki združeni v enote, imenovane Blocks. Bloki PL / SQL lahko vključujejo konstante, spremenljivke, stavke SQL, zanke, pogojne stavke, obdelavo izjem. Bloki lahko gradijo tudi postopek, funkcijo ali paket.
Na splošno Bloki PL / SQL so dve vrsti:
(i) Anonimni bloki: Bloki PL / SQL brez glave so znani kot anonimni bloki. Ti bloki ne tvorijo telesa postopka, funkcije ali sprožilcev.
Primer:
DECLARE num NUMBER(2); sq NUMBER(3); BEGIN num:= &Number1; sq := num*num; DBMS_OUTPUT.PUT_LINE(‘Square:’ ||sq); END; (ii) Imenovani bloki: Bloki PL / SQL z glavo ali nalepkami so znani kot poimenovani bloki. Imenovani bloki so lahko podprogrami (postopki, funkcije, paketi) ali sprožilci.
Priporočeno branje = >> PL SQL postopki in funkcije
Primer:
FUNCTION sqr (num IN NUMBER) RETURN NUMBER is sq NUMBER(2); BEGIN sq:= num*num; RETURN sq; END; V # 12) Razlikovati med sintaksnimi in izvajalnimi napakami?
Odgovor:
Sintaksne napake so tiste, ki jih lahko prevajalnik PL / SQL zlahka prepozna. Te napake so lahko črkovalna napaka itd.
Napake med izvajanjem so tiste napake v bloku PL / SQL, za katere je treba za obdelavo napak vključiti razdelek za obravnavo izjem. Te napake so lahko stavek SELECT INTO, ki ne vrne nobene vrstice.
kako odpreti binarne datoteke v oknih
V # 13) Kaj so COMMIT, ROLLBACK in SAVEPOINT?
Odgovor: COMMIT, SAVEPOINT in ROLLBACK so tri specifikacije transakcij, ki so na voljo v PL / SQL.
Izjava COMMIT: Ko se izvede operacija DML, le obdeluje podatke v medpomnilniku baze podatkov in te spremembe na bazo podatkov ne vplivajo. Če želimo te spremembe transakcij shraniti / shraniti v bazo podatkov, moramo NAMENITI transakcijo. Transakcija COMMIT shrani vse neporavnane spremembe od zadnjega COMMIT in zgodi se naslednji postopek
- Ključavnice prizadetih vrstic se sprostijo
- Transakcija je označena kot dokončana
- Podrobnosti o transakciji so shranjene v podatkovnem slovarju.
Sintaksa: OBVEZI;
Stavek ROLLBACK: Ko želimo razveljaviti ali izbrisati vse spremembe, ki so se zgodile v trenutni transakciji do zdaj, moramo transakcijo umakniti. Z drugimi besedami, ROLLBACK izbriše vse neporavnane spremembe od zadnjega COMMIT ali ROLLBACK.
Sintaksa za popolno povrnitev transakcije v celoti:
ZAVRTANJE;
Stavek SAVEPOINT: Stavek SAVEPOINT daje ime in označuje točko pri obdelavi trenutne transakcije. Spremembe in blokade, ki so se zgodile pred SAVEPOINT v transakciji, se ohranijo, medtem ko se spremembe, ki se pojavijo po SAVEPOINT, sprostijo.
Sintaksa:
SAVEPOINT;
V # 14) Kaj je mutirajoča miza in omejevalna miza?
Odgovor: Tabela, ki jo trenutno spreminja stavek DML, kot je definiranje sprožilcev v tabeli, je znana kot Mutirajoča miza .
Tabela, iz katere bo morda treba brati referenčno omejitev integritete, je znana kot omejevalna miza .
V # 15) Kaj so dejanski in formalni parametri?
Odgovor: Spremenljivke ali izraz, imenovan parametri, ki se pojavijo v stavku klica postopka, je znan kot Dejanski parametri .
Na primer: zvišanje_sal (emp_num, zasluga + znesek);
Tukaj v zgornjem primeru sta emp_num in znesek dva dejanska parametra.
Spremenljivke, ki so deklarirane v glavi postopka in na katere se sklicuje telo telesa, se imenujejo Formalni parametri .
Na primer:
POSTOPEK dvig_sal (emp_id INTEGER) JE
curr_sal REAL:
……… ..
ZAČETI
IZBERI sal INTO cur_sal FROM emp WHERE empno = emp_id;
…….
KONEC dvig_sal;
Tu v zgornjem primeru emp_id deluje kot formalni parameter.
V # 16) Kakšna je razlika med stavkoma ROLLBACK in ROLLBACK TO?
Odgovor: Transakcija se v celoti konča po stavku ROLLBACK, tj.ukaz ROLLBACK popolnoma razveljavi transakcijo in sprosti vse ključavnice.
Po drugi strani pa je transakcija še vedno aktivna in se izvaja po ukazu ROLLBACK TO, saj razveljavi le del transakcije do danega SAVEPOINT.
V # 17) Napišite PL / SQL skript za prikaz naslednjih nizov številk: 99,96,93 …… 9,6,3?
Odgovor
SET SERVER OUTPUT ON DECLARE BEGIN FOR i IN REVERSE 1..99 LOOP IF Mod(i,3) = 0 THEN DBMS_OUTPUT.PUT_LINE(i); END IF; END LOOP; END; / V # 18) Kateri so 3 načini parametra?
Odgovor: 3 načini parametra so IN, OUT, IN OUT.
To je mogoče razložiti na naslednji način:
- IN parametri: Parametri IN omogočajo posredovanje vrednosti postopku, ki ga kličete, in jih je mogoče inicializirati na privzete vrednosti. Parametri IN delujejo kot konstanta in jim ni mogoče dodeliti nobene vrednosti.
- OUT parametri: Parametri OUT vrnejo vrednost klicatelju in jih je treba določiti. Parametri OUT delujejo kot neinicializirana spremenljivka in jih ni mogoče uporabiti v izrazu.
- IN OUT parametri: Parametri IN OUT posredujejo začetne vrednosti postopku in vrnejo posodobljene vrednosti klicatelju. Parametri IN OUT delujejo kot inicializirana spremenljivka in jim je treba dodeliti vrednost.
V # 19) Zakaj je% ISOPEN za implicitni kurzor vedno lažen?
Odgovor: Atribut implicitnega kazalca SQL% ISOPEN je vedno neresničen, ker se implicitni kurzor odpre za stavek DML in zapre takoj po izvedbi stavka DML.
V # 20) Ko se izvede stavek DML, v katerih atributih kazalke se shrani rezultat stavka?
Odgovor: Rezultat stavka se shrani v 4 atribute kazalke.
To so:
- SQL% NAJDEN
- SQL% NEPOJMEN
- SQL% ROWCOUNT
- SQL% ISOPEN
V # 21) Kakšni so načini komentiranja v kodi PL / SQL?
Odgovor: Komentarji so besedilo, ki je priloženo kodi zaradi večje berljivosti in razumevanja bralca. Te kode se nikoli ne izvršijo.
Obstajata dva načina za komentiranje v PL / SQL:
1) Enovrstni komentar: Ta komentar se začne z dvojnim -.
Primer:
IZJAVITE
številka ŠTEVILO (2); - je lokalna spremenljivka.
ZAČETI
2) Komentar več vrstic: Ta komentar se začne z / * in konča z * /.
Primer:
ZAČETI
številka: = & p_num; / * To je gostiteljska spremenljivka, ki se uporablja v telesu programa * /
……….
KONEC
najboljše strani za prenos mp3 za android
V # 22) Kaj razumete pod ravnanjem z izjemami v PL / SQL?
Odgovor: Ko pride do napake v PL / SQL, se sproži izjema. Z drugimi besedami, za obvladovanje neželenih situacij, ko se skripti PL / SQL nepričakovano končajo, je v program vključena koda za obdelavo napak. V PL / SQL je vsa koda za ravnanje z izjemami postavljena v odsek EXCEPTION.
Obstajajo 3 vrste IZJEME:
- Vnaprej določene izjeme: Pogoste napake z vnaprej določenimi imeni.
- Nedoločene izjeme: Manj pogoste napake brez vnaprej določenih imen.
- Uporabniško določene izjeme: Ne povzročajte napak pri izvajanju, ampak kršite poslovna pravila.
V # 23) Ali želite navesti nekaj vnaprej določenih izjem?
Odgovor:
Nekatere vnaprej določene izjeme so:
- NO_DATA_FOUND: Enovrstni stavek SELECT, kjer ni vrnjenih nobenih podatkov.
- TOO_MANY_ROWS: Stavek SELECT za eno vrstico, kjer je vrnjenih več vrstic.
- INVALID_CURSOR: Prišlo je do nedovoljenega delovanja kurzorja.
- ZERO_DIVIDE: Poskus delitve z ničlo.
V # 24) Kaj so izjeme kurzorja PL / SQL?
Odgovor:
Izjeme, povezane s kazalci PL / SQL, so:
- CURSOR_ALREADY_OPEN
- INVALID_CURSOR
V # 25) Pojasnite razliko med kazalcem, prijavljenim v postopkih, in kazalci, navedenimi v specifikaciji paketa?
Odgovor: Kazalec, prijavljen v postopku, se obravnava kot lokalni in ga zato drugi postopki ne morejo dostopati.
Kazalec, naveden v specifikaciji paketa, se obravnava kot globalni in je tako dostopen z drugimi postopki.
V # 26) Kaj so NAMESTO sprožilci?
Odgovor: Sprožilci INSTEAD OF so sprožilci, napisani posebej za spreminjanje pogledov, ki jih ni mogoče neposredno spremeniti s stavki SQL DML.
V # 27) Kaj so izrazi?
Odgovor: Izrazi so predstavljeni z zaporedjem literal in spremenljivk, ki so ločene z operatorji. V PL / SQL se z operacijami manipulira, primerja in izračuna nekatere podatke. Izraz je sestava 'Operaterji' in 'Operandi'.
- Operandi: To so argument operaterjem. Operandi so lahko spremenljivka, klic funkcije ali konstanta.
- Operaterji: Ti določajo dejanja, ki jih je treba izvesti nad operaterji. Primer: '+', '*' Itd.
V # 28) S primerom navedite različne vrste izrazov.
Odgovor: Izrazi so lahko navedeni spodaj:
- Številski ali aritmetični izrazi: Primer: 20 * 10+ 15
- Logični izrazi: Primer: 'Spot' KAKO 'sp% t'
- String izrazi: Primer: DOLŽINA („NEW YORK“ || „NY“)
- Izrazi datuma: Primer: SYSDATE> TO_DATE (’15 -NOV-16 ’,“ dd-mm-yy ”)
V # 29) Napišite program, ki prikazuje uporabo zanke WHILE za izračun povprečja uporabnikovih vnesenih številk, vnos več številk pa se ustavi z vnosom številke 0?
Odgovor
DECLARE n NUMBER; avg NUMBER :=0 ; sum NUMBER :=0 ; count NUMBER :=0 ; BEGIN n := &enter_a_number; WHILE(n0) LOOP count := count+1; sum := sum+n; n := &enter_a_number; END LOOP; avg := sum/count; DBMS_OUTPUT.PUT_LINE(‘the average is’||avg); END; V # 30) Kaj razumete pod PL / SQL Records?
Odgovor: Zapise PL / SQL lahko označimo kot zbirko vrednosti ali recimo skupino več informacij, od katerih je vsaka enostavnejših vrst in je med seboj lahko povezana kot polja.
PL / SQL podpira tri vrste zapisov:
- Zapisi na osnovi tabele
- Zapisi na osnovi programerja
- Zapisi na podlagi kazalca
Zaključek
PL / SQL je zelo obsežen, ko gre za učenje in uporabo. Upam, da vam bodo ta vprašanja in odgovori pomagali skozi.
Če želite izvedeti več o PL SQL, preberite naš obsežen PL / SQL vadnice .
Srečno učenje !!
Priporočeno branje
- Vprašanja in odgovori za intervjuje
- Vprašanja in odgovori za preizkušanje ETL
- 30 najbolj priljubljenih vprašanj in odgovorov za intervju s kumaricami
- Top 30 vprašanj in odgovorov za intervju s SAS
- Najpogostejša vprašanja za intervju z Oracle: Vprašanja za Oracle Basic, SQL, PL / SQL
- Top 30 vprašanj in odgovorov za preskušanje varnosti
- 30+ najboljših vprašanj in odgovorov za intervju za Scrum (SEZNAM 2021)
- 30 najboljših vprašanj in odgovorov za DBMS