30 most important pl sql interview questions
Top PL / SQL-interviewvragen met voorbeelden om u voor te bereiden op het komende interview:
Wat is PL / SQL?
PL / SQL (Procedural Language / SQL) is in feite een procedurele uitbreiding van Oracle - SQL. PL / SQL helpt de gebruiker om complexe databasetoepassingen te ontwikkelen met behulp van controlestructuren, procedures, functies, modules, enz.
Dit artikel bespreekt de meest voorkomende PL / SQL-interviewvragen en antwoorden.
PL / SQL interviewvragen en antwoorden
Laten we beginnen!!
Vraag 1) Maak onderscheid tussen PL / SQL en SQL?
Antwoord: Het verschil tussen SQL en PL / SQL kan als volgt worden gecategoriseerd:
SQL | PL / SQL |
---|---|
SQL is een natuurlijke taal die erg handig is voor interactieve verwerking. | PL / SQL is een procedurele uitbreiding van Oracle - SQL. |
SQL biedt geen procedurele mogelijkheden zoals condition testing, looping. | PL / SQL ondersteunt zowel procedurele mogelijkheden als functies met veel taal, zoals voorwaardelijke instructies, lusinstructies, enz. |
Alle SQL-instructies worden een voor een door de databaseserver uitgevoerd, dus het is een tijdrovend proces. | PL / SQL-statements sturen het volledige blok met statements tegelijkertijd naar de databaseserver, waardoor het netwerkverkeer aanzienlijk wordt verminderd. |
Er zijn geen foutafhandelingsprocedures in SQL. | PL / SQL ondersteunt aangepaste foutafhandeling. |
Q # 2) De kenmerken van PL / SQL gebruiken?
Antwoord:
Kenmerken van PL / SQL zijn als volgt:
- PL / SQL biedt toegang tot en delen van dezelfde subprogramma's door meerdere applicaties.
- Het staat bekend om de overdraagbaarheid van code, aangezien code op elk besturingssysteem kan worden uitgevoerd, mits Oracle erop is geladen.
- Met PL / SQL kunnen gebruikers hun eigen aangepaste routines voor foutafhandeling schrijven.
- Verbeterde transactieprestaties met integratie met Oracle-gegevenswoordenboek.
V # 3) Welke gegevenstypen zijn beschikbaar in PL / SQL?
Antwoord: Gegevenstypen definiëren de manieren om het type gegevens en de bijbehorende bewerkingen te identificeren.
Er zijn 4 soorten vooraf gedefinieerde gegevenstypen die als volgt worden uitgelegd:
- Scalaire gegevenstypen: Een scalair gegevenstype is een atomisch gegevenstype dat geen interne componenten heeft.
- Bijvoorbeeld
- CHAR (tekenbereik met vaste lengte tussen 1 en 32.767 tekens)
- VARCHAR2 (waardebereik van variabele lengte tussen 1 en 32.767 tekens)
- AANTAL (vaste decimale waarden, drijvende decimale waarden of gehele getallen)
- BOOLEAN (logisch gegevenstype voor TRUE FALSE- of NULL-waarden)
- DATUM (slaat datum- en tijdinformatie op)
- LONG (karaktergegevens van variabele lengte)
- Samengestelde gegevenstypen: Een samengesteld gegevenstype bestaat uit andere gegevenstypen en interne componenten die gemakkelijk kunnen worden gebruikt en gemanipuleerd. Bijvoorbeeld, RECORD, TABLE en VARRAY.
- Typen referentiegegevens: Een referentiegegevenstype bevat waarden, pointers genaamd, die verwijzen naar andere programma-items of data-items. Bijvoorbeeld, REF CURSOR.
- Gegevenstypen voor grote objecten: Een datatype van een groot object bevat waarden, locators genaamd, die de locatie bepalen van grote objecten (zoals videoclips, grafische afbeeldingen, enz.) Die uit de lijn zijn opgeslagen.
- Bijvoorbeeld
- BFILE (binair bestand)
- BLOB (binair groot object)
- CLOB (teken groot object)
- NCLOB (groot object van het type NCHAR)
Aanbevolen literatuur = >> PL SQL-gegevenstypen
V # 4) Leg het doel van de gegevenstypen% TYPE en% ROWTYPE uit met het voorbeeld?
Antwoord: PL / SQL gebruikt het% TYPE-declaratieattribuut voor verankering. Dit attribuut geeft het datatype van een variabele, constante of kolom. Het% TYPE-attribuut is handig bij het declareren van een variabele die hetzelfde datatype heeft als een tabelkolom.
Bijvoorbeeld, de variabele m_empno heeft hetzelfde gegevenstype en dezelfde grootte als de kolom empno in tabel emp.
Het% ROWTYPE-attribuut wordt gebruikt om een variabele te declareren als een record met dezelfde structuur als een rij in een tabel. De rij is gedefinieerd als een record en de velden ervan hebben dezelfde namen en gegevenstypen als de kolommen in de tabel of weergave.
Bijvoorbeeld:
Dit declareert een record dat een hele rij kan opslaan voor de DEPT-tabel.
V # 5) Wat verstaat u onder PL / SQL-pakketten?
Antwoord: PL / SQL-pakketten zijn schema-objecten die functies, opgeslagen procedures, cursors en variabelen op één plaats groeperen.
Pakketten hebben 2 verplichte onderdelen:
- Pakket specificaties
- Pakket lichaam
V # 6) Wat verstaat u onder PL / SQL-cursors?
Antwoord: PL / SQL vereist een speciale mogelijkheid om meer dan één rij op te halen en te verwerken, en die bron staat bekend als Cursors. Een cursor is een aanwijzer naar het contextgebied, dat een geheugengebied is dat SQL-instructies en informatie bevat voor het verwerken van de instructies.
PL / SQL Cursor is in feite een mechanisme waarmee meerdere rijen met gegevens uit de database worden geselecteerd en vervolgens wordt elke rij afzonderlijk verwerkt in een programma.
Q # 7) Verklaar cursortypes.
hoe apk-bestanden te vinden op een Android-tablet
Antwoord: Er zijn twee soorten cursors.
Ze worden als volgt uitgelegd:
a) Expliciete cursors: Voor query's die meer dan één rij retourneren, wordt een expliciete cursor gedeclareerd en benoemd door een programmeur. Om de expliciete cursor in PL / SQL te gebruiken, worden 4 stappen gevolgd
- Verklaar de cursor
Syntaxis: CURSOR is
SELECT-instructie;
Hier is de naam die is toegewezen aan de cursor en de SELECT-instructie is de query die rijen retourneert naar de actieve cursor-set.
- Open de cursor
Syntaxis: OPEN ;
Waar, is de naam van de eerder gedefinieerde cursor.
- Haal rijen van de cursor op
Syntaxis: FETCH IN;
Verwijst hier naar de naam van de eerder gedefinieerde cursor waaruit rijen worden opgehaald.
vertegenwoordigt de lijst met variabelen die de gegevens zullen ontvangen die worden opgehaald.
- De cursor sluiten
Syntaxis: DICHTBIJ ;
Hier is de naam van de cursor die wordt gesloten.
b) Impliciete cursors: Wanneer een SQL-instructie wordt uitgevoerd, maakt PL / SQL automatisch een cursor zonder dat dergelijke cursors worden gedefinieerd, die bekend staan als impliciete cursors.
Voor de volgende instructies gebruikt PL / SQL impliciete cursors
- INVOEGEN
- BIJWERKEN
- VERWIJDEREN
- SELECT (zoekopdrachten die exact één rij retourneren)
V # 8) Wanneer gebruiken we triggers?
Antwoord: Het woord ‘Trigger’ betekent activeren. In PL / SQL is de trigger een opgeslagen procedure die een actie definieert die door de database wordt ondernomen wanneer de database-gerelateerde gebeurtenis wordt uitgevoerd.
Triggers zijn voornamelijk nodig voor de volgende doeleinden:
- Om complexe integriteitsbeperkingen te handhaven
- Controle van tabelinformatie door de wijzigingen vast te leggen
- Signaleren van andere programma-acties wanneer er wijzigingen in de tabel worden aangebracht
- Het afdwingen van complexe bedrijfsregels
- Voorkomen van ongeldige transacties
V # 9) Leg het verschil uit in de uitvoering van triggers en opgeslagen procedures?
Antwoord: Een opgeslagen procedure wordt expliciet uitgevoerd door een procedure-aanroepinstructie uit een ander blok te geven via een procedure-aanroep met argumenten.
De trigger wordt impliciet uitgevoerd wanneer een triggergebeurtenis, zoals het optreden van DML-instructies, plaatsvindt.
V # 10) Leg het verschil uit tussen Triggers en Constraints?
Antwoord: Triggers verschillen op de volgende manieren van beperkingen:
Triggers | Beperkingen |
---|---|
Alleen van invloed op de rijen die zijn toegevoegd nadat de trigger is ingeschakeld. | Heeft invloed op alle rijen van de tabel, inclusief de rijen die al bestaan wanneer de beperking is ingeschakeld. |
Triggers worden gebruikt om complexe bedrijfsregels te implementeren die niet kunnen worden geïmplementeerd met integriteitsbeperkingen. | Beperkingen handhaven de integriteit van de database. |
V # 11) Wat is een PL / SQL-blok?
Antwoord: In PL / SQL worden instructies gegroepeerd in eenheden die blokken worden genoemd. PL / SQL-blokken kunnen constanten, variabelen, SQL-instructies, lussen, voorwaardelijke instructies en afhandeling van uitzonderingen bevatten. Blocks kunnen ook een procedure, een functie of een pakket bouwen.
Breed, PL / SQL-blokken zijn twee soorten:
(i) Anonieme blokken: PL / SQL-blokken zonder header staan bekend als anonieme blokken. Deze blokken vormen niet de kern van een procedure, functie of triggers.
Voorbeeld:
(ii) Benoemde blokken: PL / SQL-blokken met koptekst of labels staan bekend als benoemde blokken. Benoemde blokken kunnen ofwel subprogramma's (procedures, functies, pakketten) of triggers zijn.
Aanbevolen literatuur = >> PL SQL-procedures en -functies
Voorbeeld:
Vraag 12) Onderscheid maken tussen syntaxis en runtime-fouten?
Antwoord:
Syntaxisfouten zijn degene die gemakkelijk kunnen worden geïdentificeerd door een PL / SQL-compiler. Deze fouten kunnen een spelfout zijn, enz.
Runtime-fouten zijn die fouten in PL / SQL-blok waarvoor een uitzonderingsafhandelingssectie moet worden opgenomen voor het afhandelen van de fouten. Deze fouten kunnen worden geselecteerd in een instructie die geen rijen retourneert.
V # 13) Wat zijn COMMIT, ROLLBACK en SAVEPOINT?
Antwoord: COMMIT, SAVEPOINT en ROLLBACK zijn drie transactiespecificaties die beschikbaar zijn in PL / SQL.
COMMIT-verklaring: Wanneer een DML-bewerking wordt uitgevoerd, worden alleen gegevens in de databasebuffer gemanipuleerd en de database blijft onaangetast door deze wijzigingen. Om deze transactiewijzigingen in de database op te slaan / op te slaan, moeten we de transactie COMMIT. COMMIT-transactie slaat alle openstaande wijzigingen op sinds de laatste COMMIT en het volgende proces vindt plaats
- Betreffende rijvergrendelingen worden vrijgegeven
- Transactie gemarkeerd als voltooid
- Transactiedetails worden opgeslagen in het datadictionary.
Syntaxis: COMMIT;
ROLLBACK-instructie: Als we alle wijzigingen die tot dusver in de huidige transactie zijn opgetreden, ongedaan willen maken of wissen, moeten we de transactie terugdraaien. Met andere woorden, ROLLBACK wist alle openstaande wijzigingen sinds de laatste COMMIT of ROLLBACK.
Syntaxis om een transactie volledig terug te draaien:
TERUGROLLEN;
SAVEPOINT-instructie: Het SAVEPOINT-statement geeft een naam en markeert een punt in de verwerking van de huidige transactie. De wijzigingen en vergrendelingen die zijn opgetreden vóór het SAVEPOINT in de transactie, blijven behouden, terwijl de wijzigingen die zich voordoen na het SAVEPOINT worden vrijgegeven.
Syntaxis:
SAVEPOINT;
V # 14) Wat is de mutatietabel en de beperkingstabel?
Antwoord: Een tabel die momenteel wordt gewijzigd door een DML-instructie, zoals het definiëren van triggers in een tabel, staat bekend als een Muterende tafel
beste muziekdownloader-app voor Android
Een tabel waarvan mogelijk moet worden gelezen voor een referentiële integriteitsbeperking, staat bekend als beperkende tafel
V # 15) Wat zijn feitelijke parameters en formele parameters?
Antwoord: De variabelen of een uitdrukking waarnaar wordt verwezen als parameters die voorkomen in de procedure-aanroepinstructie, wordt Werkelijke parameters
Bijvoorbeeld: raise_sal (emp_num, verdienste + bedrag);
Hier in het bovenstaande voorbeeld zijn emp_num en amount de twee feitelijke parameters.
De variabelen die worden gedeclareerd in de procedurekop en waarnaar wordt verwezen in de hoofdtekst van de procedure, worden genoemd als Formele parameters
Bijvoorbeeld:
PROCEDURE raise_sal (emp_id INTEGER) IS
curr_sal ECHT:
BEGINNEN
SELECTEER sal IN cur_sal VAN emp WAAR empno = emp_id;
END raise_sal;
Hier in het bovenstaande voorbeeld fungeert emp_id als een formele parameter.
V # 16) Wat is het verschil tussen ROLLBACK- en ROLLBACK TO-statements?
Antwoord: De transactie is volledig beëindigd nadat de ROLLBACK-instructie, d.w.z. de ROLLBACK-opdracht, een transactie volledig ongedaan maakt en alle vergrendelingen vrijgeeft.
Aan de andere kant is een transactie nog steeds actief en actief na het ROLLBACK TO-commando, aangezien het slechts een deel van de transactie ongedaan maakt tot het opgegeven SAVEPOINT.
V # 17) Schrijf een PL / SQL-script om de volgende reeks getallen weer te geven: 99,96,93 …… 9,6,3?
Antwoord
V # 18) Wat zijn de 3 parametermodi?
Antwoord: 3 modi van de parameter zijn IN, OUT, IN OUT.
Deze zijn als volgt te verklaren:
- IN parameters: IN-parameters stellen u in staat waarden door te geven aan de procedure die wordt aangeroepen en kunnen worden geïnitialiseerd naar standaardwaarden. IN-parameters werken als een constante en er kan geen waarde aan worden toegekend.
- OUT-parameters: OUT-parameters retourneren waarde naar de beller en ze moeten worden opgegeven. OUT-parameters werken als een niet-geïnitialiseerde variabele en kunnen niet in een uitdrukking worden gebruikt.
- IN OUT-parameters: IN OUT-parameters geven initiële waarden door aan een procedure en retourneren bijgewerkte waarden aan de beller. IN OUT-parameters werken als een geïnitialiseerde variabele en moeten een waarde krijgen.
Q # 19) Waarom is% ISOPEN altijd false voor een impliciete cursor?
Antwoord: Een impliciete cursor, SQL% ISOPEN-attribuut is altijd false omdat de impliciete cursor wordt geopend voor een DML-instructie en onmiddellijk wordt gesloten na de uitvoering van de DML-instructie.
V # 20) Wanneer een DML-instructie wordt uitgevoerd, met cursorattributen, wordt de uitkomst van de instructie opgeslagen?
Antwoord: Het resultaat van de instructie wordt opgeslagen in 4 cursorattributen.
Dit zijn:
- SQL% GEVONDEN
- SQL% NIET GEVONDEN
- SQL% ROWCOUNT
- SQL% ISOPEN
V # 21) Wat zijn de manieren om commentaar te geven in een PL / SQL-code?
Antwoord: Commentaar is de tekst die bij de code wordt geleverd om de leesbaarheid te verbeteren en voor het begrip van de lezer. Deze codes worden nooit uitgevoerd.
Er zijn twee manieren om commentaar te geven in PL / SQL:
1) Commentaar op één regel: Deze opmerking begint met dubbele -.
Voorbeeld:
VERKLAREN
aantal NUMMER (2); - het is een lokale variabele.
BEGINNEN
2) Commentaar van meerdere regels: Deze opmerking begint met / * en eindigt met * /.
Voorbeeld:
BEGINNEN
num: = & p_num; / * Dit is een hostvariabele die wordt gebruikt in de hoofdtekst van het programma * /
EINDE
V # 22) Wat verstaat u onder het afhandelen van uitzonderingen in PL / SQL?
Antwoord: Als er een fout optreedt in PL / SQL, wordt de uitzondering gegenereerd. Met andere woorden, om ongewenste situaties af te handelen waarin PL / SQL-scripts onverwachts zijn beëindigd, wordt een foutafhandelingscode in het programma opgenomen. In PL / SQL wordt alle code voor het afhandelen van uitzonderingen in een EXCEPTION-sectie geplaatst.
Er zijn 3 soorten UITZONDERING:
- Vooraf gedefinieerde uitzonderingen: Veelvoorkomende fouten met vooraf gedefinieerde namen.
- Ongedefinieerde uitzonderingen: Minder vaak voorkomende fouten zonder vooraf gedefinieerde namen.
- Door de gebruiker gedefinieerde uitzonderingen: Veroorzaak geen runtime-fout, maar overtreed de bedrijfsregels.
V # 23) Enkele vooraf gedefinieerde uitzonderingen inschakelen?
Antwoord:
Enkele van de vooraf gedefinieerde uitzonderingen zijn:
het ondersteunt vragen en antwoorden voor technici tijdens het interview
- GEEN DATA GEVONDEN: SELECT-instructie met één rij waarbij geen gegevens worden geretourneerd.
- TOO_MANY_ROWS: SELECT-instructie met één rij waarbij meer dan één rij wordt geretourneerd.
- INVALID_CURSOR: Er is een ongeldige cursorbewerking opgetreden.
- ZERO_DIVIDE: Poging om te delen door nul.
Q # 24) Wat zijn uitzonderingen voor PL / SQL-cursor?
Antwoord:
De uitzonderingen met betrekking tot PL / SQL-cursors zijn:
- CURSOR_ALREADY_OPEN
- INVALID_CURSOR
V # 25) Leg het verschil uit tussen de cursor gedeclareerd in procedures en cursors gedeclareerd in de pakketspecificatie?
Antwoord: De cursor die in de procedure wordt gedeclareerd, wordt behandeld als lokaal en kan dus niet worden geopend door andere procedures.
De cursor die in de pakketspecificatie is gedeclareerd, wordt als globaal behandeld en kan dus via andere procedures worden benaderd.
V # 26) Wat zijn IN plaats van triggers?
Antwoord: De INSTEAD OF-triggers zijn de triggers die speciaal zijn geschreven voor het wijzigen van weergaven, die niet rechtstreeks kunnen worden gewijzigd via SQL DML-instructies.
V # 27) Wat zijn uitdrukkingen?
Antwoord: Uitdrukkingen worden weergegeven door een reeks letterlijke waarden en variabelen die worden gescheiden door operatoren. In PL / SQL worden bewerkingen gebruikt om bepaalde gegevens te manipuleren, vergelijken en berekenen. Een uitdrukking is een compositie van ‘Operatoren’ en ‘Operanden’.
- Operanden: Dit zijn een argument voor de operators. Operanden kunnen een variabele, functieaanroep of constante zijn.
- Operatoren: Deze specificeren de acties die op operators moeten worden uitgevoerd. Voorbeeld: '+', '*', Enz.
V # 28) Maak een lijst van verschillende soorten uitdrukkingen met het voorbeeld.
Antwoord: Uitdrukkingen kunnen zijn zoals hieronder vermeld:
- Numerieke of rekenkundige uitdrukkingen: Voorbeeld: 20 * 10+ 15
- Booleaanse uitdrukkingen: Voorbeeld: ‘Spot’ ALS ‘sp% t’
- String-expressies: Voorbeeld: LENGTE (‘NEW YORK’ || ‘NY’)
- Datum uitdrukkingen: Voorbeeld: SYSDATE> TO_DATE (’15 -NOV-16 ’;' dd-mm-jj ')
V # 29) Schrijf een programma dat het gebruik van de WHILE-lus laat zien om het gemiddelde van door de gebruiker ingevoerde nummers te berekenen en het invoeren van meer nummers wordt gestopt door het invoeren van nummer 0?
Antwoord
Q # 30) Wat verstaat u onder PL / SQL-records?
Antwoord: Een PL / SQL-record kan worden aangeduid als een verzameling waarden of, bijvoorbeeld, een groep van meerdere stukjes informatie, die elk van eenvoudiger typen zijn en als velden aan elkaar kunnen worden gerelateerd.
Er worden drie soorten records ondersteund in PL / SQL:
- Op tabellen gebaseerde records
- Programmeur gebaseerde records
- Cursor gebaseerde records
Gevolgtrekking
PL / SQL is erg uitgebreid als het gaat om leren en toepassen. Ik hoop dat deze interviewvragen en antwoorden je zullen helpen erdoor te komen.
Voor meer informatie over PL SQL leest u onze uitgebreide PL / SQL-zelfstudiereeks
Veel plezier met leren !!
Aanbevolen literatuur
- Interview vragen en antwoorden
- Vragen en antwoorden over ETL-tests
- Top 30+ populaire komkommer interviewvragen en antwoorden
- Top 30 SAS interviewvragen en antwoorden
- Top Oracle-sollicitatievragen: Oracle Basic-, SQL-, PL / SQL-vragen
- Top 30 interviewvragen en antwoorden over beveiligingstests
- 30+ Top Scrum Interview Vragen en Antwoorden (2021 LIST)
- Top 30 DBMS interviewvragen en antwoorden