65 PL/SQL pitanja i odgovora za intervju (2026.)
Pitanja i odgovori za intervju za PL/SQL za brucoลกe
1) ล to je PL SQL?
Oracle PL/SQL je proลกirenje SQL jezika koji kombinira snagu SQL-a za manipulaciju podacima s procesorskom snagom proceduralnog jezika za stvaranje super moฤnih SQL upita. PL/SQL osigurava besprijekornu obradu SQL naredbi poboljลกavajuฤi sigurnost, prenosivost i robusnost baze podataka.
PL/SQL je kratica za "proลกirenja proceduralnog jezika za jezik strukturiranih upita".
๐ Besplatno preuzimanje PDF-a: Pitanja i odgovori za intervju za PL/SQL
2) Razlikujte % ROWTYPE i TYPE RECORD.
% ROWTYPE koristi se kada upit vrati cijeli redak tablice ili prikaza.
VRSTA ZAPIS s druge strane, koristi se kada upit vrati stupac razliฤitih tablica ili prikaza.
Npr. VRSTA r_emp je SNIMITI (sno smp.smpno%type,sname smp sname %type)
e_rec smp %ROWTYPE
Kursor c1 je odabir smpno,dept iz smp;
e_rec c1 %ROWTYPE
3) Objasnite upotrebu kursora.
Kursor je imenovano privatno podruฤje u SQL-u iz kojeg se moลพe pristupiti informacijama. Oni moraju obraditi svaki red zasebno za upite koji vraฤaju viลกe redaka.
4) Prikaลพi kod kursora za petlju.
Kursor implicitno deklarira %ROWTYPE kao indeks petlje. Zatim otvara kursor, dobiva retke vrijednosti iz aktivnog skupa u poljima zapisa i zatvara se kada se svi zapisi obrade.
Npr.
FOR smp_rec IN C1 LOOP totalsal=totalsal+smp_recsal; ENDLOOP;
5) Objasnite upotrebu okidaฤa baze podataka.
PL/SQL programska jedinica povezana s odreฤenom tablicom baze podataka naziva se okidaฤ baze podataka. Koristi se za:
1) Izmjene podataka revizije.
2) Transparentno biljeลพite dogaฤaje.
3) Provedite sloลพena poslovna pravila.
4) Odrลพavajte tablice replika
5) Izvedite vrijednosti stupaca
6) Implementirajte sloลพene sigurnosne autorizacije
6) Koje su dvije vrste iznimaka.
Dio za rukovanje pogreลกkama PL/SQL bloka naziva se Iznimka. Imaju dvije vrste: user_defined i unaprijed definirane.
7) Prikaลพi neke unaprijed definirane iznimke.
DUP_VAL_ON_INDEX
NULA_DIVIDE
NISU PRONAฤENI PODACI
TOO_MANY_ROWS
CURSOR_ALREADY_OPEN
POGREล AN BROJ
INVALID_CURSOR
PROGRAM_ERROR
TIMEOUT _ON_RESOURCE
STORAGE_ERROR
PRIJAVA_ODBIJENA
VALUE_ERROR
i tako dalje
8) Objasnite Raise_application_error.
To je procedura paketa DBMS_STANDARD koja dopuลกta izdavanje korisniฤki definiranih poruka o pogreลกci iz okidaฤa baze podataka ili pohranjenog potprograma.
9) Pokaลพite kako se pozivaju funkcije i procedure u PL SQL bloku.
Funkcija se poziva kao dio izraza.
total:=calculate_sal('b644')
Procedura se naziva izjava u PL / SQL.
calculate_bonus('b644');
10) Objasnite dvije virtualne tablice dostupne u trenutku izvrลกavanja okidaฤa baze podataka.
Stupci tablice nazivaju se OLD.column_name i NEW.column_name.
Za okidaฤe povezane s INSERT, dostupne su samo vrijednosti NEW.column_name.
Za okidaฤe povezane s DELETE, dostupne su samo vrijednosti OLD.column_name.
Za okidaฤe povezane s UPDATE dostupna su oba stupca tablice.
11) Koja su pravila koja se primjenjuju na NULL tijekom usporedbi?
1) NULL nikada nije TRUE ili FALSE
2) NULL ne moลพe biti jednaka ili nejednaka drugim vrijednostima
3) Ako je vrijednost u izrazu NULL, tada sam izraz daje vrijednost NULL osim operatora spajanja (||)
12) Kako se kompajlira proces PL SQL?
Proces kompilacije ukljuฤuje provjeru sintakse, povezivanje i procese generiranja p-koda.
Provjera sintakse provjerava PL SQL kodove na pogreลกke kompilacije. Kada su sve pogreลกke ispravljene, adresa pohrane se dodjeljuje varijablama koje sadrลพe podatke. Zove se Uvezivanje. P-kod je popis uputa za PL SQL motor. P-kod je pohranjen u bazi podataka za imenovane blokove i koristi se sljedeฤi put kada se izvrลกi.
13) Razlikujte pogreลกke u sintaksi i pogreลกke tijekom izvoฤenja.
Pogreลกka u sintaksi moลพe se lako otkriti pomoฤu PL/SQL kompajlera. Na primjer, netoฤan pravopis.
Pogreลกka vremena izvoฤenja rjeลกava se uz pomoฤ odjeljka za rukovanje iznimkama u PL/SQL blok. Na primjer, naredba SELECT INTO, koja ne vraฤa nijedan redak.
14) Objasnite Izvrลกenje, Vraฤanje i Spremanje.
Za naredbu COMMIT vrijedi sljedeฤe:
- Ostali korisnici mogu vidjeti promjene podataka napravljene transakcijom.
- Otpuลกtaju se zakljuฤavanja steฤena transakcijom.
- Posao obavljen transakcijom postaje trajan.
Izjava ROLLBACK izdaje se kada transakcija zavrลกi, a vrijedi sljedeฤe.
- Posao obavljen u prijelazu poniลกtava se kao da nikada nije bio izdan.
- Otpuลกtaju se sva zakljuฤavanja steฤena transakcijom.
Poniลกtava sav posao koji je korisnik obavio u transakciji. Uz SAVEPOINT samo se dio transakcije moลพe poniลกtiti.
15) Definirajte implicitne i eksplicitne kursore.
Kursor je implicitan prema zadanim postavkama. Korisnik ne moลพe kontrolirati ili obraฤivati โโinformacije u ovom pokazivaฤu.
Ako upit vrati viลกe redaka podataka, program definira eksplicitni kursor. To omoguฤuje aplikaciji da obradi svaki red uzastopno kako ga kursor vraฤa.
16) Objasnite pogreลกku tablice mijenjanja.
To se dogaฤa kada okidaฤ pokuลกa aลพurirati redak koji trenutno koristi. Popravlja se koriลกtenjem pogleda ili privremenih tablica, tako da baza podataka odabire jednu i aลพurira drugu.
17) Kada je potrebna deklaracija?
DECLARE izjavu koriste PL SQL anonimni blokovi kao ลกto su samostalne, nepohranjene procedure. Ako se koristi, mora biti prvi u samostalnoj datoteci.
18) Koliko se okidaฤa moลพe primijeniti na tablicu?
Na jednu tablicu moลพe se primijeniti najviลกe 12 okidaฤa.
19) Koja je vaลพnost SQLCODE-a i SQLERRM-a?
SQLCODE vraฤa vrijednost broja greลกke za posljednju greลกku, dok SQLERRM vraฤa poruku za posljednju greลกku.
20) Ako je pokazivaฤ otvoren, kako moลพemo pronaฤi u PL SQL bloku?
moลพe se koristiti varijabla statusa kursora %ISOPEN.
PL/SQL Intervju Pitanja za iskusne
21) Prikaลพi dvije iznimke PL/SQL kursora.
Pokazivaฤ_veฤ_otvoren
Invaid_cursor
22) Koji operatori rade s NULL?
NVL pretvara NULL u drugu specificiranu vrijednost.
var:=NVL(var2,'Hi');
IS NULL i IS NOT NULL mogu se koristiti za posebnu provjeru je li vrijednost varijable NULL ili nije.
23) Ima li SQL*Plus i PL/SQL Engine?
Ne, SQL*Plus nema ugraฤen PL/SQL Engine. Stoga se sav PL/SQL kod ลกalje izravno u pogon baze podataka. Mnogo je uฤinkovitiji jer se svaka izjava ne uklanja zasebno.
24) Koji su paketi dostupni PL SQL programerima?
DBMS_ serija paketa, kao ลกto su DBMS_PIPE, DBMS_DDL, DBMS_LOCK, DBMS_ALERT, DBMS_OUTPUT, DBMS_JOB, DBMS_UTILITY, DBMS_SQL, DBMS_TRANSACTION, UTL_FILE.
25) Objasnite 3 osnovna dijela okidaฤa.
- Izjava ili dogaฤaj koji pokreฤe.
- Ograniฤenje
- U Akciji
26) ล to su karakterne funkcije?
INITCAP, UPPER, SUBSTR, LOWER i LENGTH sve su znakovne funkcije. Grupne funkcije daju rezultate na temelju grupa redaka, za razliku od pojedinaฤnih redaka. One su MAX, MIN, AVG, COUNT i SUM.
27) Objasnite TTITLE i BTITLE.
TTITLE i BTITLE naredbe koje kontroliraju zaglavlja i podnoลพja izvjeลกฤa.
28) Prikaลพi atribute kursora PL/SQL.
%ISOPEN: Provjerava je li kursor otvoren ili ne
%ROWCOUNT: Broj redaka koji su aลพurirani, izbrisani ili dohvaฤeni.
%FOUND: Provjerava je li kursor dohvatio neki red. Toฤno je ako su redovi dohvaฤeni
%NOT FOUND: Provjerava je li kursor dohvatio neki red. Istina je ako se redovi ne dohvaฤaju.
29) ล to je Intersect?
Intersect je proizvod dviju tablica i navodi samo podudarne retke.
30) ล to su sekvence?
Nizovi se koriste za generiranje sekvencijskih brojeva bez dodatnih troลกkova zakljuฤavanja. Nedostatak mu je ลกto se redni broj gubi ako se transakcija vrati.
31) Kako biste referencirali vrijednosti stupaca PRIJE i NAKON ลกto ste umetnuli i izbrisali okidaฤe?
Koristeฤi kljuฤnu rijeฤ "new.column name", okidaฤi mogu referencirati vrijednosti stupaca prema novoj kolekciji. Koriลกtenjem kljuฤne rijeฤi "old.column name", mogu referencirati vrijednosti stupaca prema staroj kolekciji.
32) Koje su upotrebe kljuฤnih rijeฤi SYSDATE i USER?
SYSDATE se odnosi na trenutni sistemski datum posluลพitelja. To je pseudo stupac. USER je takoฤer pseudo stupac, ali se odnosi na trenutnog korisnika koji je prijavljen na sesiju. Koriste se za praฤenje promjena koje se dogaฤaju u tablici.
33) Kako ROWID pomaลพe u brลพem izvoฤenju upita?
ROWID je logiฤka adresa retka, nije fiziฤki stupac. Sastoji se od broja bloka podataka, broja datoteke i broja retka u bloku podataka. Stoga se I/O vrijeme minimizira dohvaฤanjem reda i rezultira brลพim upitom.
34) Za ลกto se koriste poveznice baze podataka?
Veze baza podataka stvaraju se kako bi se uspostavila komunikacija izmeฤu razliฤitih baza podataka ili razliฤitih okruลพenja kao ลกto su testiranje, razvoj i proizvodnja. Veze baze podataka su samo za ฤitanje za pristup drugim informacijama.
35) ล to radi dohvaฤanje kursora?
Dohvaฤanje kursora ฤita Skup rezultata red po red.
36) ล to radi zatvaranje kursora?
Zatvaranje pokazivaฤa briลกe privatno SQL podruฤje, kao i de-alokaciju memorije
37) Objasnite upotrebu kontrolne datoteke.
To je binarna datoteka. Biljeลพi strukturu baze podataka. Ukljuฤuje lokacije nekoliko datoteka dnevnika, imena i vremenske oznake. Mogu se pohraniti na razliฤitim mjestima kako bi pomogli u pronalaลพenju informacija ako se jedna datoteka oลกteti.
38) Objasnite dosljednost
Dosljednost pokazuje da se podaci neฤe odraziti na druge korisnike dok se podaci ne potvrde, tako da se odrลพava dosljednost.
39) Razlikujte anonimne blokove i potprograme.
Anonimni blokovi su neimenovani blokovi koji se nigdje ne pohranjuju dok se potprogrami kompiliraju i pohranjuju u bazu podataka. Sastavljaju se tijekom izvoฤenja.
40) Razlika izmeฤu DECODE i CASE.
Naredbe DECODE i CASE vrlo su sliฤne, ali CASE je proลกirena verzija DECODE. DECODE ne dopuลกta izjave za donoลกenje odluka umjesto njega.
odaberite decode(totalsal=12000,'high',10000,'medium') kao decode_tesr iz smp gdje je smpno u (10,12,14,16);
Ova izjava vraฤa pogreลกku.
CASE se izravno koristi u PL SQL, ali DECODE se koristi u PL SQL samo kroz SQL.
41) Objasnite autonomnu transakciju.
Autonomna transakcija je neovisna transakcija o glavnoj ili roditeljskoj transakciji. Nije ugnijeลพฤen ako ga je pokrenula druga transakcija.
Postoji nekoliko situacija za koriลกtenje autonomnih transakcija kao ลกto su biljeลพenje dogaฤaja i revizija.
42) Napravite razliku izmeฤu SGA i PGA.
SGA je kratica za Globalno podruฤje sustava, dok je PGA kratica za Globalno podruฤje programa ili procesa. PGA-u je dodijeljeno samo 10% RAM-a, ali SGA-u je dodijeljeno 40% RAM-a.
43) Koja je lokacija Pre_defined_functions.
Pohranjeni su u standardnom paketu pod nazivom "Funkcije, procedure i paketi"
44) Objasnite polimorfizam u PL SQL.
Polimorfizam je znaฤajka OOP-a. To je sposobnost stvaranja varijable, objekta ili funkcije s viลกe oblika. PL/SQL podrลพava polimorfizam u obliku preoptereฤenja programske jedinice unutar funkcije ฤlana ili paketa. Mora se izbjegavati nedvosmislena logika dok se preoptereฤenje vrลกi.
45) Koja je upotreba MERGE?
MERGE se koristi za kombiniranje viลกe DML izjava u jednu.
Sintaksa: spajanje u naziv tablice
koristeฤi (upit)
ukljuฤeno (uvjet pridruลพivanja)
kada se ne podudara onda
[insert/update/delete] naredba
kad se poklapa onda
[insert/update/delete] naredba
PL/SQL pitanja za intervju za 5+ godina iskustva
46) Mogu li se 2 upita istovremeno izvrลกiti u sustavu distribuirane baze podataka?
Da, mogu se izvrลกiti istovremeno. Jedan upit je uvijek neovisan o drugom upitu u sustavu distribuirane baze podataka koji se temelji na predaji u 2 faze.
47) Objasnite Raise_application_error.
To je procedura paketa DBMS_STANDARD koja dopuลกta izdavanje korisniฤki definiranih poruka o pogreลกci iz okidaฤa baze podataka ili pohranjenog potprograma.
48) Koji se izlazni parametar koristi za iako se izjava return moลพe koristiti i u pl/sql?
Izlazni parametri dopuลกtaju viลกe od jedne vrijednosti u pozivnom programu. Out parametar se ne preporuฤuje u funkcijama. Procedure se mogu koristiti umjesto funkcija ako je potrebno viลกe vrijednosti. Stoga se ove procedure koriste za izvrลกavanje izlaznih parametara.
49) Kako biste pretvorili datum u julijanski format datuma?
Moลพemo koristiti niz J formata:
SQL > odaberite to_char(to_date('29-Mar-2013โฒ,'dd-mon-yyyy'),'J') kao julian iz dual;
JULIAN
50) Objasnite SPOOL
Spool naredba moลพe ispisati izlaz sql naredbi u datoteku.
spool/tmp/sql_outtxt
odaberite smp_name, smp_id iz smp gdje dept='accounts';
namotati;
51) Navedite od ฤega se sastoji PL/SQL paket?
PL/SQL paket se sastoji od
- PL/SQL tablica i zapis TYPE izjava
- Postupci i funkcije
- Pokazivaฤi
- Varijable (tablice, skalari, zapisi, itd.) i konstante
- Nazivi iznimaka i pragme za povezivanje broja pogreลกke s iznimkom
- Pokazivaฤi
52) Navedite koje su prednosti PL/SQL paketa?
Pruลพa nekoliko pogodnosti kao ลกto su
- Prisilno skrivanje informacija: Nudi slobodu izbora hoฤe li podaci biti privatni ili javni
- Dizajn odozgo prema dolje: Moลพete dizajnirati suฤelje za kod skriven u paketu prije nego ลกto stvarno implementirate same module
- Postojanost objekta: Objekti deklarirani u specifikaciji paketa ponaลกaju se kao globalni podaci za sve PL/SQL objekte u aplikaciji. Moลพete modificirati paket u jednom modulu i zatim referencirati te promjene na drugi modul
- Objektno orijentirani dizajn: Paket daje programerima snaลพan nadzor nad naฤinom na koji se mogu koristiti moduli i podatkovne strukture unutar paketa
- Jamฤenje integriteta transakcije: Omoguฤuje razinu integriteta transakcije
- Poboljลกanje izvedbe: The RDBMS automatsko tracprovjerava valjanost svih programskih objekata pohranjenih u bazi podataka i poboljลกava performanse paketa.
53) Navedite koje su razliฤite metode za trace PL/SQL kod?
TracIzrada koda je kljuฤna tehnika za mjerenje performansi koda tijekom izvoฤenja. Razliฤite metode za tracukljuฤuje
- DBMS_APPLICATION_INFO
- DBMS_TRACE
- DBMS_SESSION i DBMS_MONITOR
- usluลพni programi trcsess i tkproof
54) Navedite ลกto radi hijerarhijski profiler?
Hijerarhijski profiler mogao bi profilirati pozive napravljene u PL/SQL-u, osim ลกto bi popunio prazninu izmeฤu rupa u zakonu i oฤekivanja performansi. tracing. Uฤinkovitost hijerarhijskog profilera ukljuฤuje
- Razliฤito izvjeลกฤivanje za SQL i PL/SQL potroลกnja vremena
- Izvjeลกtava o broju razliฤitih poziva potprograma napravljenih u PL/SQL-u i vremenu provedenom sa svakim pozivom potprograma
- Viลกestruka interaktivna analitiฤka izvjeลกฤa u HTML formatu koriลกtenjem usluลพnog programa naredbenog retka
- Uฤinkovitiji od konvencionalnog profilera i drugih trackomunalne usluge
55) Navedite ลกto vam omoguฤuje PLV msg?
PLV poruka vam omoguฤuje
- Dodijelite pojedinaฤnu tekstualnu poruku odreฤenom retku u PL/SQL tablici
- Dohvaฤa tekst poruke prema broju
- Automatski zamjenjuje vaลกe vlastite poruke standardnim Oracle poruke o pogreลกci s prekidaฤem ograniฤenja
- Skupno uฤitavanje brojeva poruka i teksta iz tablice baze podataka izravno PLV msg PL/SQL tablice
56) Navedite ลกto nudi PLV โโ(PL/Vision) paket?
- Nulta vrijednost zamjene
- Skup rutina tvrdnji
- Razne komunalije
- Skup konstanti koje se koriste u cijeloj PL viziji
- Unaprijed definirani tipovi podataka
57) Navedite ฤemu sluลพe PLVprs i PLVprsps?
- PLVprs: To je proลกirenje za raลกฤlanjivanje nizova za PL/SQL i najniลพa je razina funkcionalnosti raลกฤlanjivanja nizova
- PLVprsps: To je paket najviลกe razine za raลกฤlanjivanje PL/SQL izvornog koda u zasebne atome. Za obavljanje posla oslanja se na druge pakete za raลกฤlanjivanje.
58) Objasnite kako moลพete kopirati datoteku u sadrลพaj datoteke i datoteku u PL/SQL tablicu unaprijed PL/SQL?
S jednim programskim pozivom โ โfcopy proceduraโ, moลพete kopirati kompletan sadrลพaj jedne datoteke u drugu datoteku. Dok za kopiranje sadrลพaja datoteke izravno u PL/SQL tablicu, moลพete koristiti program โfile2pstabโ.
59) Objasnite kako se rukovanje iznimkama radi unaprijed PL/SQL?
Za rukovanje iznimkama PL/SQL pruลพa uฤinkovit dodatak PLVexc. PLVexc podrลพava ฤetiri razliฤite akcije rukovanja iznimkama.
- Nastavite s obradom
- Snimite pa nastavite
- Zaustavi obradu
- Snimite i zatim zaustavite obradu
Za one iznimke koje se ponavljaju moลพete koristiti naredbu RAISE.
60) Navedite s kojim se problemom moลพete suoฤiti dok zapisujete podatke dnevnika u tablicu baze podataka u PL/SQL?
Prilikom zapisivanja podataka iz dnevnika u tablicu baze podataka, problem s kojim se suoฤavate je taj ลกto su informacije dostupne tek nakon ลกto se novi retci potvrde u bazu podataka. To bi mogao biti problem jer se takav PLVlog obiฤno implementira u track pogreลกaka i u mnogim takvim sluฤajevima trenutna transakcija bi propala ili bi joj bilo potrebno vraฤanje u prethodno stanje.
61) Navedite koja je to funkcija koja se koristi za prijenos dnevnika PL/SQL tablice u tablicu baze podataka?
Za prijenos PL/SQL tablice zapisnik funkcije tablice dnevnika baze podataka โPOSTUPAK ps2dbโ koristi se.
62) Kada morate koristiti zadanu toฤku spremanja "povratka na" PLVlog?
Zadana toฤka spremanja "vraฤanja na" PLVlog-a koristi se kada su korisnici ukljuฤili aktivnost vraฤanja i nisu osigurali alternativnu toฤku spremanja u pozivu put_line. Zadana toฤka spremanja inicijalizirana je na konstantu c none.
63) Zaลกto se PLVtab smatra najlakลกim naฤinom pristupa PL/SQL tablici?
PL/SQL tablice su najbliลพe nizovima u PL/SQL-u, a da biste pristupili ovoj tablici prvo morate deklarirati tip tablice, a zatim morate deklarirati samu PL/SQL tablicu. Ali koriลกtenjem PLVtaba moลพete izbjeฤi definiranje vlastite vrste PL/SQL tablice i olakลกati pristup PL/SQL podatkovnoj tablici.
64) Navedite ลกto vam PLVtab omoguฤuje kada prikazujete sadrลพaj PL/SQL tablica?
PLVtab vam omoguฤuje sljedeฤe stvari kada prikazujete sadrลพaj PL/SQL tablica
- Prikaลพite ili potisnite zaglavlje za tablicu
- Prikaลพite ili potisnite brojeve redaka za tabliฤne vrijednosti
- Prikaลพi prefiks prije svakog retka tablice
65) Objasnite kako moลพete spremiti ili smjestiti svoju poruku u tablicu?
Da biste spremili poruku u tablicu, moลพete to uฤiniti na dva naฤina
- Uฤitaj pojedinaฤne poruke s pozivima na
add_textPostupci - Uฤitajte skupove poruka iz tablice baze podataka s
load_from_dbmsPostupci
66) Navedite koja je upotreba funkcije โprocedura modulaโ u PL/SQL?
โProcedura modulaโ omoguฤuje pretvaranje svih redaka koda u odreฤenoj programskoj jedinici jednim pozivom procedure. Postoje tri argumenta za module
- modul_in
- cor_in
- Zadnji_modul_in
67) Navedite ลกto PLVcmt i PLVrb rade u PL/SQL?
PL/Vision nudi dva paketa koji vam pomaลพu u upravljanju obradom transakcija u PL/SQL aplikaciji. To je PLVcmt i PLVrb.
- PLVcmt: Paket PLVcmt objedinjuje logiku i sloลพenost za rad s obradom predaje
- PLVrb: Omoguฤuje programsko suฤelje za vraฤanje aktivnosti u PL/SQL
Ova pitanja za intervju takoฤer ฤe vam pomoฤi u vaลกem ลพivotu
