30 most important pl sql interview questions
De bästa PL / SQL-intervjufrågorna med exempel som hjälper dig att förbereda dig för den kommande intervjun:
Vad är PL / SQL?
PL / SQL (Procedural Language / SQL) är i grunden en procedurell förlängning av Oracle - SQL. PL / SQL hjälper användaren att utveckla komplexa databasapplikationer med hjälp av kontrollstrukturer, procedurer, funktioner, moduler etc.
Den här artikeln kommer att diskutera de mest populära PL / SQL-intervjufrågorna och svaren.
PL / SQL-intervjufrågor och svar
Låt oss börja!!
F # 1) Differentiera PL / SQL och SQL?
Svar: Skillnaden mellan SQL och PL / SQL kan kategoriseras enligt följande:
SQL | PL / SQL |
---|---|
SQL är ett naturligt språk som är mycket användbart för interaktiv bearbetning. | PL / SQL är en procedurell förlängning av Oracle - SQL. |
Inga procedurfunktioner som villkorstestning, looping erbjuds av SQL. | PL / SQL stöder procedurfunktioner samt höga språkfunktioner som villkorliga uttalanden, looping-uttalanden etc. |
Alla SQL-satser körs av databasservern en i taget, vilket är en tidskrävande process. | PL / SQL-satser skickar hela satsblocket till databasservern samtidigt, så nätverkstrafiken minskas avsevärt. |
Inga felhanteringsprocedurer finns i SQL. | PL / SQL stöder anpassad felhantering. |
F # 2) Ange egenskaperna hos PL / SQL?
Svar:
Kännetecken för PL / SQL är som följer:
- PL / SQL tillåter åtkomst och delning av samma underprogram med flera applikationer.
- Det är känt för portabilitet av kod eftersom kod kan köras på alla operativsystem förutsatt att Oracle är laddat på det.
- Med PL / SQL kan användare skriva egna skräddarsydda felhanteringsrutiner.
- Förbättrad transaktionsprestanda med integrering i Oracle data dictionary.
F # 3) Vilka datatyper finns i PL / SQL?
Svar: Datatyper definierar sätten att identifiera typ av data och tillhörande operationer.
Det finns fyra typer av fördefinierade datatyper som förklaras enligt följande:
- Scalar datatyper: En skalär datatyp är en atomisk datatyp som inte har några interna komponenter.
- Till exempel
- CHAR (karaktärsintervall med fast längd mellan 1 och 32 767 tecken)
- VARCHAR2 (värdeintervall för variabel längd mellan 1 och 32 767 tecken)
- NUMBER (fast decimal, flytande decimal eller heltal)
- BOOLEAN (logisk datatyp för TRUE FALSE eller NULL-värden)
- DATE (lagrar information om datum och tid)
- LONG (teckendata med variabel längd)
- Sammansatta datatyper: En sammansatt datatyp består av andra datatyper och interna komponenter som lätt kan användas och manipuleras. Till exempel, INSPELNING, TABELL och VARRAY.
- Referensdatatyper: En referensdatatyp innehåller värden, kallade pekare som betecknar andra programobjekt eller dataobjekt. Till exempel, REFKURS.
- Datatyper för stora objekt: En datatyp med stort objekt innehåller värden, så kallade lokaliserare, som definierar platsen för stora objekt (som videoklipp, grafisk bild osv.) Som lagras utom raden.
- Till exempel
- BFILE (binär fil)
- BLOB (binärt stort objekt)
- CLOB (Karaktär stort objekt)
- NCLOB (stort objekt av typen NCHAR)
Rekommenderad läsning = >> PL SQL-datatyper
F # 4) Förklara syftet med datatyperna% TYPE och% ROWTYPE med exemplet?
Svar: PL / SQL använder attributet% TYPE-deklaration för förankring. Detta attribut tillhandahåller datatypen för en variabel, konstant eller kolumn. % TYPE-attribut är användbart när man deklarerar en variabel som har samma datatyp som en tabellkolumn.
Till exempel, variabeln m_empno har samma datatyp och storlek som kolumnen empno i tabell emp.
m_empno emp.empno%TYPE;
% ROWTYPE-attribut används för att förklara en variabel som en post med samma struktur som en rad i en tabell. Raden definieras som en post och dess fält har samma namn och datatyper som kolumnerna i tabellen eller vyn.
Till exempel:
dept_rec dept%ROWTYPE;
Detta deklarerar en post som kan lagra en hel rad för DEPT-tabellen.
F # 5) Vad förstår du av PL / SQL-paket?
Svar: PL / SQL-paket är schemanobjekt som grupperar funktioner, lagrade procedurer, markörer och variabler på ett ställe.
Paketen har två obligatoriska delar:
- Paketspecifikationer
- Förpackningens kropp
F # 6) Vad förstår du av PL / SQL-markörer?
Svar: PL / SQL kräver en speciell förmåga att hämta och bearbeta mer än en rad och den resursen kallas markörer. En markör är en pekare till sammanhangsområdet, vilket är ett minnesområde som innehåller SQL-satser och information för bearbetning av uttalandena.
PL / SQL-markören är i grunden en mekanism under vilken flera rader med data från databasen väljs och sedan behandlas varje rad individuellt i ett program.
F # 7) Förklara markörtyper.
intervjufrågor och svar på skrivbordssupport pdf
Svar: Det finns två typer av markörer.
De förklaras enligt följande:
a) Explicita markörer: För frågor som returnerar mer än en rad deklareras en explicit markör och namnges av en programmerare. För att använda en explicit markör i PL / SQL följs fyra steg
- Förklara markören
Syntax: PILARE är
VÄLJ uttalande;
Här är namnet som tilldelats markören och SELECT-satsen är frågan som returnerar rader till markörens aktiva uppsättning.
- Öppna markören
Syntax: ÖPPEN ;
Var är namnet på den tidigare definierade markören.
- Hämta rader från markören
Syntax: HITTA IN;
Hänvisar här till namnet på den tidigare definierade markören från vilken rader hämtas.
representerar listan över variabler som tar emot de data som hämtas.
- Stänga markören
Syntax: STÄNGA ;
Här är namnet på markören som stängs.
b) Implicita markörer: När någon SQL-sats körs skapar PL / SQL automatiskt en markör utan att definiera att sådana markörer kallas implicita markörer.
För följande uttalanden använder PL / SQL implicita markörer
- FÖRA IN
- UPPDATERING
- RADERA
- VÄLJ (frågor som returnerar exakt en rad)
F # 8) När använder vi triggers?
Svar: Ordet ”Trigger” betyder att aktivera. I PL / SQL är utlösaren en lagrad procedur som definierar en åtgärd som vidtas av databasen när den databaserelaterade händelsen utförs.
Triggers krävs huvudsakligen för följande ändamål:
- Att upprätthålla komplexa integritetsbegränsningar
- Granskning av tabellinformation genom att registrera ändringarna
- Signalering av andra programåtgärder när ändringar görs i tabellen
- Tillämpa komplexa affärsregler
- Förhindra ogiltiga transaktioner
F # 9) Förklara skillnaden i utförandet av utlösare och lagrade procedurer?
Svar: En lagrad procedur utförs uttryckligen genom att utfärda ett proceduranropsmeddelande från ett annat block via ett proceduranrop med argument.
Utlösaren körs implicit närhelst någon utlösande händelse som förekomsten av DML-uttalanden inträffar.
F # 10) Förklara skillnaden mellan utlösare och begränsningar?
Svar: Utlösare skiljer sig från begränsningar på följande sätt:
Utlösare | Begränsningar |
---|---|
Påverkar bara de rader som läggs till efter att utlösaren är aktiverad. | Påverka alla rader i tabellen inklusive de som redan finns när begränsningen är aktiverad. |
Triggers används för att implementera komplexa affärsregler som inte kan implementeras med integritetsbegränsningar. | Begränsningar upprätthåller databasens integritet. |
F # 11) Vad är ett PL / SQL-block?
Svar: I PL / SQL grupperas uttalanden i enheter som kallas block. PL / SQL-block kan innehålla konstanter, variabler, SQL-satser, loopar, villkorliga uttalanden, undantagshantering. Block kan också skapa en procedur, en funktion eller ett paket.
Brett, PL / SQL-block är två typer:
(i) Anonyma block: PL / SQL-block utan rubrik kallas anonyma block. Dessa block bildar inte kroppen för en procedur, funktion eller utlösare.
xbox ett virtual reality-headset släppdatum
Exempel:
DECLARE num NUMBER(2); sq NUMBER(3); BEGIN num:= &Number1; sq := num*num; DBMS_OUTPUT.PUT_LINE(‘Square:’ ||sq); END;
(ii) Namngivna block: PL / SQL-block med rubrik eller etiketter kallas namngivna block. Namngivna block kan antingen vara underprogram (procedurer, funktioner, paket) eller Triggers.
Rekommenderad läsning = >> PL SQL-procedurer och funktioner
Exempel:
FUNCTION sqr (num IN NUMBER) RETURN NUMBER is sq NUMBER(2); BEGIN sq:= num*num; RETURN sq; END;
F # 12) Skilja mellan syntax och runtime-fel?
Svar:
Syntaxfel är den som lätt kan identifieras av en PL / SQL-kompilator. Dessa fel kan vara ett stavfel etc.
Runtime-fel är de fel i PL / SQL-block för vilka ett undantagshanteringsavsnitt ska inkluderas för hantering av felen. Dessa fel kan vara SELECT INTO-uttalande som inte returnerar några rader.
F # 13) Vad är COMMIT, ROLLBACK och SAVEPOINT?
Svar: COMMIT, SAVEPOINT och ROLLBACK är tre transaktionsspecifikationer tillgängliga i PL / SQL.
ÅTAGANDE uttalande: När DML-operation utförs manipuleras den bara data i databasbufferten och databasen förblir opåverkad av dessa ändringar. För att spara / lagra dessa transaktionsändringar i databasen måste vi begå transaktionen. COMMIT-transaktion sparar alla utestående ändringar sedan senaste COMMIT och följande process inträffar
- Berörda råslås frigörs
- Transaktion markerad som komplett
- Transaktionsdetaljer lagras i datalistan.
Syntax: BEGÅ;
ROLLBACK-uttalande: När vi vill ångra eller radera alla ändringar som har inträffat i den nuvarande transaktionen hittills, måste vi rulla tillbaka transaktionen. Med andra ord raderar ROLLBACK alla utestående förändringar sedan senaste COMMIT eller ROLLBACK.
Syntax för att återställa en transaktion helt:
RULLA TILLBAKA;
SAVEPOINT uttalande: SAVEPOINT-uttalandet ger ett namn och markerar en punkt i behandlingen av den aktuella transaktionen. De ändringar och lås som har inträffat före SAVEPOINT i transaktionen bevaras medan de som sker efter SAVEPOINT släpps.
Syntax:
SAVEPOINT;
F # 14) Vad är den muterande tabellen och den begränsande tabellen?
Svar: En tabell som för närvarande modifieras av ett DML-uttalande som att definiera triggers i en tabell kallas a Muterande bord .
En tabell som kan behöva läsas från för en referensintegritetsbegränsning kallas begränsande bord .
F # 15) Vad är faktiska parametrar och formella parametrar?
Svar: Variablerna eller ett uttryck som kallas parametrar som visas i procedurens samtalsuttalande kallas Faktiska parametrar .
Till exempel: höja_sal (emp_num, merit + belopp);
Här i exemplet ovan är emp_num och belopp de två faktiska parametrarna.
Variablerna som deklareras i procedurhuvudet och refereras till i procedurens kropp kallas som Formella parametrar .
Till exempel:
FÖRFARANDE raise_sal (emp_id INTEGER) IS
curr_sal REAL:
……… ..
BÖRJA
VÄLJ sal till Cur_sal FRÅN emp WHERE empno = emp_id;
…….
SLUT höjningssal;
Här i exemplet ovan fungerar emp_id som en formell parameter.
F # 16) Vad är skillnaden mellan ROLLBACK och ROLLBACK TO uttalanden?
Svar: Transaktionen avslutas helt efter ROLLBACK-uttalande, dvs ROLLBACK-kommandot ångrar en transaktion helt och frigör alla lås.
Å andra sidan är en transaktion fortfarande aktiv och körs efter ROLLBACK TO-kommandot eftersom den endast ångrar en del av transaktionen fram till den givna SAVEPOINT.
F # 17) Skriv ett PL / SQL-skript för att visa följande siffror: 99,96,93 …… 9,6,3?
Svar
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; /
F # 18) Vilka är de tre parametrarna?
Svar: Tre lägen för parametern är IN, OUT, IN OUT.
Dessa kan förklaras enligt följande:
- IN-parametrar: IN-parametrar låter dig skicka värden till proceduren som anropas och kan initieras till standardvärden. IN-parametrar fungerar som en konstant och kan inte tilldelas något värde.
- OUT-parametrar: OUT-parametrar returnerar värdet till den som ringer och de måste anges. OUT-parametrar fungerar som en oinitialiserad variabel och kan inte användas i ett uttryck.
- IN OUT-parametrar: IN OUT-parametrar skickar initialvärden till en procedur och returnerar uppdaterade värden till den som ringer. IN OUT-parametrar fungerar som en initialiserad variabel och bör tilldelas ett värde.
F # 19) Varför är% ISOPEN alltid falskt för en implicit markör?
Svar: En implicit markör, SQL% ISOPEN-attribut är alltid falsk eftersom den implicita markören öppnas för en DML-sats och stängs omedelbart efter körningen av DML-satsen.
F # 20) När ett DML-uttalande körs, i vilken markörattribut, sparas resultatet av uttalandet?
Svar: Resultatet av uttalandet sparas i fyra markörattribut.
Dessa är:
- SQL% HITTAD
- SQL% NOTFOUND
- SQL% ROWCOUNT
- SQL% ISOPEN
F # 21) Vilka är sätten att kommentera i en PL / SQL-kod?
Svar: Kommentarer är texten som ingår i koden för att förbättra läsbarheten och för läsarens förståelse. Dessa koder körs aldrig.
Det finns två sätt att kommentera i PL / SQL:
app där du kan ladda ner youtube-videor
1) Kommentar på en rad: Denna kommentar börjar med dubbel -.
Exempel:
DEKLARERA
nummer NUMMER (2); - det är en lokal variabel.
BÖRJA
2) Kommentar med flera rader: Den här kommentaren börjar med / * och slutar med * /.
Exempel:
BÖRJA
num: = & p_num; / * Detta är en värdvariabel som används i programkroppen * /
……….
SLUTET
F # 22) Vad förstår du av undantagshantering i PL / SQL?
Svar: När ett fel uppstår i PL / SQL tas undantaget upp. Med andra ord, för att hantera oönskade situationer där PL / SQL-skript oväntat avslutades ingår en felhanteringskod i programmet. I PL / SQL placeras all kod för undantagshantering i ett EXCEPTION-avsnitt.
Det finns tre typer av UNDANTAG:
- Fördefinierade undantag: Vanliga fel med fördefinierade namn.
- Odefinierade undantag: Mindre vanliga fel utan fördefinierade namn.
- Användardefinierade undantag: Orsak inte körtidsfel utan bryter mot affärsregler.
F # 23) Anmäla några fördefinierade undantag?
Svar:
Några av de fördefinierade undantagen är:
- INGEN INFORMATION HITTAD: Enradig SELECT-sats där inga data returneras.
- TOO_MANY_ROWS: Enradig SELECT-sats där mer än en rad returneras.
- INVALID_CURSOR: Olaglig marköråtgärd inträffade.
- ZERO_DIVIDE: Försökte dela med noll.
F # 24) Vad är PL / SQL-markörundantag?
Svar:
Undantagen relaterade till PL / SQL-markörer är:
- CURSOR_ALREADY_OPEN
- INVALID_CURSOR
F # 25) Förklara skillnaden mellan markören som deklareras i procedurer och markörer som anges i paketets specifikation?
Svar: Markören som anges i proceduren behandlas som lokal och kan därför inte nås med andra procedurer.
Markören som anges i paketspecifikationen behandlas som global och kan därmed nås genom andra procedurer.
F # 26) Vad är INSTEAD OF triggers?
Svar: INSTEAD OF triggers är triggers som är skrivna speciellt för att ändra vyer, som inte kan modifieras direkt via SQL DML-uttalanden.
F # 27) Vad är uttryck?
Svar: Uttryck representeras av en sekvens av bokstäver och variabler som är åtskilda av operatorer. I PL / SQL används operationer för att manipulera, jämföra och beräkna en del data. Ett uttryck är en sammansättning av 'operatörer' och 'operander'.
- Operander: Dessa är ett argument för operatörerna. Operander kan vara en variabel, funktionsanrop eller konstant.
- Operatörer: Dessa specificerar de åtgärder som ska utföras på operatörer. Exempel: '+', '*', Etc.
F # 28) Lista olika typer av uttryck med exemplet.
Svar: Uttryck kan vara som nämnts nedan:
- Numeriska eller aritmetiska uttryck: Exempel: 20 * 10+ 15
- Booleska uttryck: Exempel: 'Spot' SOM 'sp% t'
- Stränguttryck: Exempel: LÄNGD ('NEW YORK' || 'NY')
- Datumuttryck: Exempel: SYSDATE> TO_DATE (’15 -NOV-16 ’,“ dd-mm-yy ”)
F # 29) Skriv ett program som visar användningen av WHILE-slingan för att beräkna genomsnittet av användarinmatade nummer och inmatning av fler nummer stoppas genom att ange nummer 0?
Svar
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;
F # 30) Vad förstår du av PL / SQL Records?
Svar: En PL / SQL-post kan hänvisas till som en samling värden eller säg, en grupp med flera informationsstycken, som var och en är av enklare typer och kan relateras till varandra som fält.
Det finns tre typer av poster som stöds i PL / SQL:
- Tabellbaserade poster
- Programmerare baserade poster
- Markörbaserade poster
Slutsats
PL / SQL är väldigt stort när det gäller inlärning och tillämpning. Hoppas att dessa intervjufrågor och svar hjälper dig att gå igenom.
Läs vår omfattande information om PL SQL PL / SQL-handledningsserie .
Happy Learning !!
Rekommenderad läsning
- Intervjufrågor och svar
- ETL Testing Intervju Frågor och svar
- Topp 30+ populära gurkaintervjuer och frågor
- Topp 30 SAS intervjufrågor och svar
- Oracle-intervjufrågor: Oracle Basic, SQL, PL / SQL-frågor
- Topp 30 Säkerhetstestintervjuer och svar
- 30+ Top Scrum-intervjufrågor och svar (2021 LIST)
- Topp 30 DBMS intervjufrågor och svar