65 PL/SQL-interjú kérdések és válaszok (2026)

Íme a PL/SQL interjúkérdések és válaszok friss és tapasztalt jelöltek számára, hogy megszerezzék álmaik állását.

 

PL/SQL-interjú kérdések és válaszok pályakezdőknek

1) Mi az a PL SQL?

Oracle A PL/SQL az SQL nyelv kiterjesztése, amely az SQL adatkezelési képességét az eljárási nyelv feldolgozási képességével ötvözi, hogy szuperhatékony SQL-lekérdezéseket hozzon létre. A PL/SQL biztosítja az SQL utasítások zökkenőmentes feldolgozását az adatbázis biztonságának, hordozhatóságának és robusztusságának fokozásával.
A PL/SQL a „Procedural Language extensions to the Structured Query Language” rövidítése.

👉 Ingyenes PDF letöltés: PL/SQL-interjú kérdések és válaszok


2) Tegyen különbséget a % ROWTYPE és a TYPE RECORD között.

% ROWTYPE akkor használatos, ha egy lekérdezés egy táblázat vagy nézet teljes sorát adja vissza.
TYPE RECORD másrészt akkor használatos, amikor a lekérdezés különböző táblák vagy nézetek oszlopát adja vissza.

Például. TYPE r_emp van REKORD (sno smp.smpno%type,sname smp sname %type)

e_rec smp %ROWTYPE

A c1 kurzor az smpno kijelölése, dept from smp;

e_rec c1 %ROWTYPE


3) Magyarázza el a kurzor használatát!

A kurzor egy elnevezett privát terület az SQL-ben, ahonnan az információk elérhetők. A több sort visszaadó lekérdezések esetén minden sort külön kell feldolgozniuk.


4) Mutasd a kurzor kódját a ciklushoz.

A kurzor implicit módon ciklusindexként deklarálja a %ROWTYPE-ot. Ezután megnyit egy kurzort, lekéri az értékek sorait az aktív készletből a rekord mezőiben, és leáll, amikor az összes rekord feldolgozásra került.

Például.

FOR smp_rec IN C1 LOOP

totalsal=totalsal+smp_recsal;

ENDLOOP;

5) Magyarázza el az adatbázis-trigger használatát!

Egy adott adatbázistáblához társított PL/SQL programegységet adatbázis-triggernek nevezünk. A következőkre használják:

1) Audit adatok módosításai.

2) Az események átlátható naplózása.

3) Bonyolult üzleti szabályok érvényesítése.

4) Karbantartsa a replikatáblázatokat

5) Származzon oszlopértékeket

6) Végezzen összetett biztonsági jogosultságokat


6) Mi a két kivételtípus?

A PL/SQL blokk hibakezelési részét kivételnek nevezzük. Két típusuk van: user_defined és előre definiált.


7) Mutasson néhány előre meghatározott kivételt.

DUP_VAL_ON_INDEX

ZERO_DIVIDE

NEM TALÁLHATÓ ADAT

TOO_MANY_ROWS

CURSOR_ALREADY_OPEN

ÉRVÉNYTELEN SZÁM

INVALID_CURSOR

PROGRAM_ERROR

IDŐTÚLI _ON_RESOURCE

STORAGE_ERROR

LOGON_DENIED

VALUE_ERROR

stb.


8) Magyarázza el a Raise_application_error kifejezést.

Ez a DBMS_STANDARD csomag eljárása, amely lehetővé teszi felhasználói hibaüzenetek kibocsátását adatbázis-triggerből vagy tárolt alprogramból.


9) Mutassa be a függvények és eljárások meghívását egy PL SQL blokkban.

A függvényt egy kifejezés részeként hívják.

total:=calculate_sal('b644')

Az eljárást nyilatkozatnak nevezik PL / SQL.

calculate_bonus('b644');


10) Magyarázzon el két virtuális táblát, amelyek az adatbázis-indító végrehajtása idején elérhetők.

A táblázat oszlopai RÉGI.oszlopnév és ÚJ.oszlopnév néven szerepelnek.

Az INSERT-hez kapcsolódó triggereknél csak az NEW.column_name értékek állnak rendelkezésre.

A DELETE-hez kapcsolódó triggereknél csak a RÉGI.oszlop_neve értékek állnak rendelkezésre.

A FRISSÍTÉSSEL kapcsolatos triggerekhez mindkét táblázatoszlop elérhető.


11) Milyen szabályokat kell alkalmazni a NULL-okra az összehasonlítások során?

1) A NULL soha nem IGAZ vagy HAMIS

2) NULL nem lehet egyenlő vagy nem egyenlő más értékekkel

3) Ha egy kifejezésben egy érték NULL, akkor maga a kifejezés NULL lesz, kivéve az összefűzési operátort (||)


12) Hogyan készül a PL SQL folyamat?

A fordítási folyamat szintaktikai ellenőrzést, kötési és p-kód generálási folyamatokat tartalmaz.

A szintaktikai ellenőrzés ellenőrzi a PL SQL-kódokat fordítási hibák szempontjából. Az összes hiba kijavítása után a rendszer egy tárolási címet rendel az adatokat tároló változókhoz. Kötözésnek hívják. A P-kód a PL SQL motorhoz tartozó utasítások listája. A P-kód az adatbázisban tárolódik a megnevezett blokkokhoz, és a következő végrehajtáskor kerül felhasználásra.


13) Tegyen különbséget a szintaxis és a futásidejű hibák között.

A szintaktikai hibát könnyen észlelheti egy PL/SQL fordító. Például hibás helyesírás miatt.

A futásidejű hibák kezelése a kivétel-kezelési szakasz segítségével történik PL/SQL blokk. Például a SELECT INTO utasításhoz, amely nem ad vissza egyetlen sort sem.


14) Magyarázza el a véglegesítést, a visszaállítást és a mentési pontot.

A COMMIT utasításra a következő igaz:

  • A többi felhasználó láthatja a tranzakció során végrehajtott adatmódosításokat.
  • A tranzakcióval megszerzett zárak feloldódnak.
  • A tranzakció által végzett munka állandósul.

A ROLLBACK utasítás a tranzakció végén kerül kiadásra, és a következő igaz.

  • Az átmenet során végzett munka visszavonásra kerül, mintha ki sem adták volna.
  • A tranzakcióval megszerzett összes zárolás feloldódik.

Visszavonja a felhasználó által a tranzakció során végzett összes munkát. A SAVEPOINT segítségével a tranzakciónak csak egy része vonható vissza.


15) Határozza meg az implicit és explicit kurzorokat.

A kurzor alapértelmezés szerint implicit. A felhasználó nem tudja ellenőrizni vagy feldolgozni az ebben a kurzorban lévő információkat.

Ha egy lekérdezés több adatsort ad vissza, a program explicit kurzort határoz meg. Ez lehetővé teszi az alkalmazás számára, hogy sorban feldolgozza az egyes sorokat, ahogy a kurzor visszaadja azokat.


16) Magyarázza el a mutáló táblázat hibáját!

Ez akkor fordul elő, amikor egy eseményindító megpróbál frissíteni egy éppen használt sort. Nézetek vagy ideiglenes táblák használatával javítható, így az adatbázis kiválasztja az egyiket, és frissíti a másikat.


17) Mikor van szükség nyilatkozati nyilatkozatra?

A DECLARE utasítást a PL SQL névtelen blokkok használják, például az önálló, nem tárolt eljárások. Ha használatban van, először önálló fájlban kell lennie.


18) Hány trigger alkalmazható egy táblára?

Egy táblára legfeljebb 12 trigger alkalmazható.


19) Mi az SQLCODE és az SQLERRM jelentősége?

Az SQLCODE az utoljára észlelt hiba számának értékét adja vissza, míg az SQLERRM az utolsó hiba üzenetét adja vissza.


20) Ha egy kurzor nyitva van, hogyan találjuk meg a PL SQL blokkban?

az %ISOPEN kurzorállapot változó használható.


PL/SQL interjúkérdések tapasztaltaknak

21) Mutassa meg a két PL/SQL kurzorkivételt.

Kurzor_Már_Megnyitás

Invaid_cursor


22) Milyen operátorok kezelik a NULL-t?

Az NVL a NULL-t egy másik megadott értékre konvertálja.

var:=NVL(var2,'Hi');

IS NULL és IS NOT NULL használható annak ellenőrzésére, hogy egy változó értéke NULL-e vagy sem.


23) Az SQL*Plusnak is van PL/SQL motorja?

Nem, az SQL*Plusban nincs beágyazott PL/SQL Engine. Így az összes PL/SQL kód közvetlenül az adatbázismotorba kerül. Sokkal hatékonyabb, mivel az egyes állítások nincsenek külön-külön lefedve.


24) Milyen csomagok állnak a PL SQL fejlesztők rendelkezésére?

DBMS_ csomagok sorozata, például DBMS_PIPE, DBMS_DDL, DBMS_LOCK, DBMS_ALERT, DBMS_OUTPUT, DBMS_JOB, DBMS_UTILITY, DBMS_SQL, DBMS_TRANSACTION, UTL_FILE.


25) Magyarázza el a trigger 3 alapvető részét!

  • Kiváltó kijelentés vagy esemény.
  • Egy korlátozás
  • Egy bevetés

26) Mik azok a karakterfüggvények?

INITCAP, UPPER, SUBSTR, LOWER és LENGTH mind karakterfüggvények. A csoportfüggvények sorcsoportok alapján adnak eredményt, szemben az egyes sorokkal. Ezek MAX, MIN, AVG, COUNT és SUM.


27) Magyarázza el a TTITLE és a BTITLE szavakat.

A jelentés fejlécét és láblécét vezérlő TTITLE és BTITLE parancsok.


28) Mutassa meg a PL/SQL kurzor attribútumait.

%ISOPEN: Ellenőrzi, hogy a kurzor nyitva van-e vagy sem

%ROWCOUNT: A frissített, törölt vagy letöltött sorok száma.

%FOUND: Ellenőrzi, hogy a kurzor lehívott-e egy sort. Ez igaz, ha sorokat kérnek le

%NOT FOUND: Ellenőrzi, hogy a kurzor lehívott-e egy sort. Igaz, ha a sorok nem kerülnek lehívásra.


29) Mi az a metszéspont?

Az Intersect két táblázat szorzata, és csak az egyező sorokat sorolja fel.


30) Mik azok a sorozatok?

A szekvenciák a sorszámok generálására szolgálnak anélkül, hogy többlet zárolást igényelnének. Hátránya, hogy a tranzakció visszagörgetése esetén a sorszám elveszik.


31) Hogyan hivatkozna az oszlopértékekre, MI ELŐTT és UTÁNA triggerek beillesztése és törlése?

A „new.column name” kulcsszó használatával az eseményindítók új gyűjtemény alapján hivatkozhatnak az oszlopértékekre. A „old.column name” kulcsszó használatával hivatkozhatnak az oszlopértékekre a régi gyűjtemény szerint.


32) Mire használják a SYSDATE és a USER kulcsszavakat?

A SYSDATE az aktuális szerverrendszer dátumára utal. Ez egy áloszlop. A USER szintén egy pszeudo oszlop, de a munkamenetbe bejelentkezett aktuális felhasználóra utal. A táblázatban bekövetkező változások nyomon követésére szolgálnak.


33) Hogyan segít a ROWID a lekérdezés gyorsabb futtatásában?

A ROWID egy sor logikai címe, nem fizikai oszlop. Az adatblokk számából, fájlszámból és az adatblokkban lévő sorszámból áll. Így az I/O-idő minimálisra csökken a sor lekérésekor, és gyorsabb lekérdezést eredményez.


34) Mire használhatók az adatbázis-hivatkozások?

Az adatbázis-hivatkozások azért jönnek létre, hogy kommunikációt alakítsanak ki különböző adatbázisok vagy különböző környezetek, például tesztelés, fejlesztés és gyártás között. Az adatbázis hivatkozásai csak olvashatóak, hogy más információkhoz is hozzáférjenek.


35) Mit jelent a kurzor lekérése?

A kurzor lekérése soronként beolvassa az eredményt.


36) Mit jelent a kurzor bezárása?

A kurzor bezárása törli a privát SQL területet, valamint megszünteti a memória lefoglalását


37) Magyarázza el a vezérlőfájl használatát.

Ez egy bináris fájl. Rögzíti az adatbázis szerkezetét. Számos naplófájl helyét, neveket és időbélyegeket tartalmazza. Különböző helyeken tárolhatók, hogy elősegítsék az információk visszakeresését, ha egy fájl megsérül.


38) Magyarázza el az összhangot

A konzisztencia azt mutatja, hogy az adatok nem jelennek meg a többi felhasználó számára az adatok véglegesítéséig, így a következetesség megmarad.


39) Különbség az Anonymous blokkok és az alprogramok között.

Az anonim blokkok névtelen blokkok, amelyek nem tárolódnak sehol, miközben az alprogramokat lefordítják és az adatbázisban tárolják. Futás közben állítják össze őket.


40) Különbség a DECODE és a CASE között.

A DECODE és a CASE utasítások nagyon hasonlóak, de a CASE a DECODE kiterjesztett változata. A DECODE nem engedélyezi helyette a döntéshozatali nyilatkozatokat.

válassza ki a decode(totalsal=12000,'magas',10000,'közepes') decode_tesr-t az smp-ből, ahol az smpno in (10,12,14,16);

Ez az állítás hibát ad vissza.

A CASE közvetlenül a PL SQL-ben használatos, de a DECODE a PL SQL-ben csak SQL-en keresztül.


41) Magyarázza el az autonóm tranzakciót!

Az autonóm tranzakció a fő vagy anyaügylet független tranzakciója. Nincs beágyazva, ha egy másik tranzakció indította el.

Számos helyzet áll fenn az autonóm tranzakciók használatára, például az eseménynaplózásra és az auditálásra.


42) Tegyen különbséget az SGA és a PGA között.

Az SGA a System Global Area, míg a PGA a Program vagy Process Global Area rövidítése. A PGA-nak csak 10% RAM-méretet osztanak ki, az SGA-nak viszont 40% RAM-méretet.


43) Hol található a Pre_defined_functions?

A „Funkciók, eljárások és csomagok” elnevezésű szabványos csomagban tárolódnak.


44) Magyarázza el a polimorfizmust a PL SQL-ben.

A polimorfizmus az OOP jellemzője. Ez egy változó, objektum vagy függvény létrehozásának képessége többféle formában. A PL/SQL támogatja a polimorfizmust a tagfüggvényen vagy csomagon belüli programegység túlterhelés formájában. A túlterhelés során kerülni kell az egyértelmű logikát.


45) Mire használható a MERGE?

A MERGE segítségével több DML-utasítás egyesíthető egybe.

Szintaxis: egyesítése a táblanévvel

using(query)

be (csatlakozási feltétel)

amikor nem egyezik akkor

[insert/update/delete] parancsot

amikor párosult akkor

[insert/update/delete] parancsot


PL/SQL interjúkérdések több mint 5 éves tapasztalattal

46) Végrehajtható-e egyidejűleg 2 lekérdezés egy elosztott adatbázisrendszerben?

Igen, egyszerre is végrehajthatók. Az egyik lekérdezés mindig független a második lekérdezéstől egy elosztott adatbázisrendszerben, amely a kétfázisú véglegesítésen alapul.


47) Magyarázza el a Raise_application_error kifejezést.

Ez a DBMS_STANDARD csomag egyik eljárása, amely lehetővé teszi felhasználói hibaüzenetek kibocsátását az adatbázis-triggerből vagy a tárolt alprogramból.


48) Mi az out paraméter, ha a return utasítás pl/sql-ben is használható?

Az Out paraméterek egynél több értéket engedélyeznek a hívó programban. Az Out paraméter nem ajánlott a függvényekben. Ha több értékre van szükség, függvények helyett eljárások is használhatók. Így ezeket az eljárásokat az Out paraméterek végrehajtására használják.


49) Hogyan alakítanád át a dátumot Julian-féle dátumformátumba?

Használhatjuk a J formátumú karakterláncot:

SQL > select to_char(to_date('29-Mar-2013','dd-mon-yyyy'),'J') mint julian a dualból;

JULIAN


50) Magyarázza el az orsót

A spool parancs ki tudja nyomtatni az sql utasítások kimenetét egy fájlban.

spool/tmp/sql_outtxt

válassza ki az smp_name, smp_id értéket az smp-ből ahol dept='fiókok';

tekercs le;


51) Említse meg, miből áll a PL/SQL csomag?

A PL/SQL csomag a következőkből áll

  • PL/SQL tábla és rekord TYPE utasítások
  • Eljárások és funkciók
  • Kurzorok
  • Változók (táblák, skalárok, rekordok stb.) és konstansok
  • Kivételek nevei és gyakorlati példái egy hibaszám egy kivétellel való összekapcsolására
  • Kurzorok

52) Említse meg, milyen előnyei vannak a PL/SQL csomagoknak?

Számos előnnyel jár, mint pl

  • Információk kényszerített elrejtése: Felkínálja a választás szabadságát, hogy az adatokat magánjellegűnek vagy nyilvánosnak tartja-e
  • Felülről lefelé irányuló kialakítás: Megtervezheti a felületet a csomagban elrejtett kódhoz, mielőtt a modulokat ténylegesen implementálta volna
  • Objektum perzisztencia: A csomagspecifikációban deklarált objektumok globális adatként viselkednek az alkalmazásban lévő összes PL/SQL objektumhoz. Módosíthatja a csomagot az egyik modulban, majd hivatkozhat a módosításokra egy másik modulra
  • Objektum orientált tervezés: A csomag erős rálátást biztosít a fejlesztőknek a csomagon belüli modulok és adatstruktúrák használatára
  • A tranzakció integritásának garantálása: Biztosítja a tranzakciós integritás szintjét
  • Teljesítmény fejlődés: A RDBMS automatikusan nyomon követi az adatbázisban tárolt összes programobjektum érvényességét, és javítja a csomagok teljesítményét.

53) Említse meg, milyen módszerek vannak a PL/SQL kód nyomon követésére?

A nyomkövetési kód kulcsfontosságú technika a kód teljesítményének mérésére a futásidő alatt. A nyomkövetés különböző módszerei közé tartozik

  • DBMS_APPLICATION_INFO
  • DBMS_TRACE
  • DBMS_SESSION és DBMS_MONITOR
  • trcsess és tkproof segédprogramok

54) Említse meg, mit csinál a hierarchikus profilkészítő?

A hierarchikus profilkészítő képes profilozni a PL/SQL-ben kezdeményezett hívásokat, eltekintve a kiskapuk és a teljesítménykövetési elvárások közötti rés kitöltésétől. A hierarchikus profilkészítő hatékonysága magában foglalja

  • Különálló jelentés a számára SQL és PL/SQL időfelhasználás
  • Jelenti a PL/SQL-ben végrehajtott különálló alprogramhívások számát és az egyes alprogramhívásokkal eltöltött időt
  • Több interaktív analitikai jelentés HTML formátumban a parancssori segédprogrammal
  • Hatékonyabb, mint a hagyományos profilkészítő és más nyomkövető segédprogramok

55) Említse meg, mit tesz lehetővé a PLV msg?

A PLV üzenet lehetővé teszi

  • Rendeljen egyedi szöveges üzenetet a PL/SQL tábla megadott sorához
  • Szám szerint kéri le az üzenet szövegét
  • Automatikusan helyettesíti az Ön saját üzeneteit a standard helyett Oracle hibaüzenetek korlátozás kapcsolóval
  • Üzenetszámok és szövegek kötegelt betöltése adatbázistáblából közvetlenül PLV msg PL/SQL tábla

56) Említse meg, mit kínál a PLV (PL/Vision) csomag?

  • Null helyettesítési érték
  • Állítási rutinok halmaza
  • Különféle közművek
  • A PL látás során használt állandók halmaza
  • Előre meghatározott adattípusok

57) Említse meg, mi a PLVprs és PLVprsps haszna?

  • PLVprs: Ez a PL/SQL karakterlánc-elemzésének kiterjesztése, és ez a legalacsonyabb szintű karakterlánc-elemzési funkció
  • PLVprsps: Ez a legmagasabb szintű csomag a PL/SQL forráskód különálló atomokba történő elemzéséhez. A munka elvégzéséhez más elemzési csomagokra támaszkodik.

58) Magyarázza el, hogyan másolhat egy fájlt a fájl tartalmába, és hogyan másolhat fájlt PL/SQL táblába előre PL/SQL?

Egyetlen programhívással – „fmásolási eljárás”, átmásolhatja az egyik fájl teljes tartalmát egy másik fájlba. Míg egy fájl tartalmát közvetlenül egy PL/SQL táblába másolhatja, használhatja a „file2pstab”.


59) Magyarázza el, hogyan történik a kivételkezelés előre PL/SQL?

Minden kivételkezelő PL/SQL hatékony PLVexc bővítményt biztosít. A PLVexc négy különböző kivételkezelési műveletet támogat.

  • Folytassa a feldolgozást
  • Rögzítse, majd folytassa
  • A feldolgozás leállítása
  • Rögzítse, majd állítsa le a feldolgozást

Az ismétlődő kivételek esetén használhatja a RAISE utasítást.


60) Említse meg, milyen problémával szembesülhet valaki, amikor PL/SQL-ben naplóinformációkat ír egy adatbázistáblába?

Amikor naplóinformációkat ír egy adatbázistáblába, azzal a problémával kell szembesülnie, hogy az információ csak akkor érhető el, ha az új sorokat az adatbázisba helyezték. Ez probléma lehet, mivel az ilyen PLVlog rendszerint a hibák nyomon követésére szolgál, és sok ilyen esetben az aktuális tranzakció meghiúsul, vagy más módon vissza kell állítani.


61) Említse meg, mi az a függvény, amellyel egy PL/SQL táblanaplót átvihetünk egy adatbázistáblába?

PL/SQL tábla átviteléhez naplózzon egy adatbázis naplótábla funkciót „PROCEDURE ps2db” használt.


62) Mikor kell a PLVlog alapértelmezett „visszaállítási” mentési pontját használnia?

A PLVlog alapértelmezett „visszaállítási” mentési pontja akkor használatos, ha a felhasználók bekapcsolták a visszaállítási tevékenységet, és nem biztosítottak alternatív mentési pontot a put_line hívásakor. Az alapértelmezett mentési pont a c none konstansra inicializálódik.


63) Miért tartják a PLVtab-ot a PL/SQL tábla elérésének legegyszerűbb módjának?

A PL/SQL tábla áll a legközelebb a PL/SQL tömbjéhez, és ahhoz, hogy elérje ezt a táblát, először deklarálnia kell egy táblatípust, majd magát a PL/SQL táblát. A PLVtab használatával azonban elkerülheti a saját PL/SQL-táblatípus meghatározását, és megkönnyítheti a PL/SQL-adattábla-hozzáférést.


64) Említse meg, mit tesz lehetővé a PLVtab, amikor megjeleníti a PL/SQL táblák tartalmát?

A PLVtab segítségével a következőket teheti meg, amikor megjeleníti a PL/SQL táblák tartalmát

  • A táblázat fejlécének megjelenítése vagy letiltása
  • A táblázatértékek sorszámának megjelenítése vagy letiltása
  • Mutasson előtagot a táblázat minden sora előtt

65) Magyarázza el, hogyan mentheti el vagy helyezheti el az üzenetét egy táblázatban?

Ha az üzenetet táblázatba szeretné menteni, azt kétféleképpen teheti meg

  • Egyedi üzenetek betöltése a címre küldött hívásokkal add_text eljárás
  • Üzenethalmazok betöltése adatbázistáblából a load_from_dbms eljárás

66) Említse meg, mi a „moduleljárás” funkció használata PL/SQL-ben?

A „moduleljárás” lehetővé teszi, hogy az összes kódsort egy meghatározott programegységbe konvertáljuk egyetlen eljáráshívással. A modulok mellett három érv szól

  • modul_in
  • cor_in
  • Utolsó_modul_be

67) Említse meg, mit csinál a PLVcmt és a PLVrb a PL/SQL-ben?

A PL/Vision két csomagot kínál, amelyek segítenek a tranzakciófeldolgozás kezelésében a PL/SQL alkalmazásban. Ez a PLVcmt és a PLVrb.

  • PLVcmt: A PLVcmt csomag logikát és összetettséget rejt magában a véglegesítési feldolgozás kezeléséhez
  • PLVrb: Programozási felületet biztosít a PL/SQL-ben végzett tevékenységek visszaállításához

Ezek az interjúkérdések a viva-ban is segítenek.

Foglald össze ezt a bejegyzést a következőképpen: