sql >> Database >  >> RDS >> Oracle

Oracle PLSQL-interviewvragen

Hier is de compilatie van de meest voorkomende oracle plsql-interviewvragen. Deze zullen je zeker helpen in het gesprek. De vragen zijn van basis tot gevorderd niveau en behandelen de meeste aspecten van de PLSQL-programmering. Ik hoop dat je dit nuttig vindt

Vraag (1) Wat is Oracle PLSQL?
Antwoord
PL/SQL is een procedurele taaluitbreiding op Structured Query Language (SQL). Het doel van PL/SQL is om databasetaal en procedurele programmeertaal te combineren


Vraag(2) Wat zijn de componenten van een PL/SQL-blok?
Antwoord
Declaratief deel, Uitvoerbaar deel en Uitzonderingsdeel.

Vraag (3) Welke gegevenstypen zijn beschikbaar in PL/SQL?
Antwoord
Sommige scalaire gegevenstypen, zoals
NUMBER, VARCHAR2, DATE, CHAR, LONG, BOOLEAN.
Sommige samengestelde gegevenstypen, zoals RECORD &TABLE.

Vraag (4) Wat is een cursor? Waarom is de cursor vereist?
Antwoord
De cursor is een benoemd privé SQL-gebied van waaruit toegang kan worden verkregen tot informatie.
Cursors zijn vereist om rijen afzonderlijk te verwerken voor query's die meerdere rijen retourneren.

Vraag (5)  Wat is het verschil tussen procedure en functie?
Antwoord

Functie Procedure
De functie moet een waarde teruggeven Procedure hoeft niet
Syntaxis 
FUNCTIE-naam (argumentenlijst .....) Retourgegevenstype is
lokale variabeledeclaraties
Begin
uitvoerbare instructies
Uitzondering
uitvoeringshandlers
Einde;
Syntaxis
PROCEDURE naam (parameterlijst…..)
is
declaraties van lokale variabelen
BEGIN
Uitvoerbare instructies.
Uitzondering.
uitzonderingshandlers
einde;
De functie kan met enige beperking in SQL worden gebruikt De procedure kan niet rechtstreeks vanuit SQL worden aangeroepen.

Vraag (6) Wat is het verschil tussen VERWIJDEREN en TRUNCATE?
Antwoord

Verwijderen Inkorten
DELETE is een DML-commando TRUNCATE is een DDL-commando.
Syntaxis 
Verwijder * uit tabel
Commit;
Syntaxis
Truncate tabel ;
Het verandert niets aan de hoogwaterlijn TRUNCATE stelt de geheugenblokken opnieuw in na uitvoering, d.w.z. het stelt de hoogwatermarkering van het object in
Het kan worden teruggedraaid Het kan niet worden teruggedraaid
Verwijder trigger is geactiveerd Er worden geen triggers geactiveerd
Er worden terugdraaisegmenten gebruikt Er worden minder rollback-segmenten gebruikt en het is veel sneller

Vraag (7) Wat is een impliciete cursor en een expliciete cursor?
Antwoord

Impliciete cursor Expliciete cursor
Impliciete cursor wordt intern door Oracle gedefinieerd en beheerd. Expliciete cursor wordt programmatisch gedefinieerd en bestuurd.
Syntaxis 
verklaar
v_dept varchar2(50);
begin
selecteer dept in v_dept van dept waar location =‘XYZ’;
einde;
Syntaxis
verklaar
v_dept varchar2(50);
Cursor Cur_dept is select dept in v_dept from dept waar location ='XYZ';
begin
Open Cur_dept;
Haal Cur_dept op in v_dept;
Cur_dept sluiten;
einde;
Alle selectie/update-query's die in het PL/SQL-blok worden gebruikt, zijn een impliciete cursor Expliciete cursor is openen, ophalen en sluiten

Vraag (8) Wat zijn rowid en rownum?
Antwoord
Rowid is een hexadecimaal uniek getal voor elke rij van een tabel die wordt gebruikt om te zoeken.
Rownum is een uniek geheel getal voor elke rij van een tabel die kan worden gebruikt voor sortering of analyse.

Vraag (9)  Leg het verschil uit tussen een FUNCTIE, PROCEDURE en PAKKET
Antwoord

Functie -Een functie heeft een retourtype in zijn specificatie en moet een waarde teruggeven die in dat type is gespecificeerd.
-Ze worden in gecompileerde vorm opgeslagen in de database
– Functies kunnen overal in een geldige expressie
Selecteer fnd_profile.value('xyz)  uit dual;
Procedure -Een procedure heeft geen retourtype in zijn specificatie en zou geen waarde moeten retourneren, maar het kan een retourstatement hebben dat de uitvoering eenvoudigweg stopt en terugkeert naar de aanroeper
-Ze worden opgeslagen in gecompileerde vorm in de database
-Procedures worden aangeroepen als zelfstandige uitvoerbare instructies:my_proc(parameter1,parameter2…);
Pakketten -Pakketten bevatten functies, procedures en andere gegevensstructuren.
- De voordelen van pakketten zijn modulariteit, eenvoudiger toepassingsontwerp en informatie.
Verbergen, herbruikbaarheid en betere prestaties.
-Er zijn een aantal verschillen tussen verpakte en niet-verpakte PL/SQL-programma's.
Pakket De gegevens in het pakket zijn persistent voor de duur van de sessie van de gebruiker. De gegevens in het pakket bestaan ​​dus voor alle commits in de sessie.
-Als u uitvoeringsrechten toekent aan een pakket, is dit voor alle functies en procedures en gegevensstructuren in de pakketspecificatie. U kunt geen privileges toekennen aan slechts één procedure of functie binnen een pakket.-U kunt procedures en functies binnen een pakket overbelasten en meerdere programma's met dezelfde naam declareren. Het juiste programma dat moet worden aangeroepen, wordt tijdens runtime bepaald op basis van het aantal gegevenstypen van de parameters.

Vraag (10)   Definieer Commit, Rollback en Save-point.

Antwoord.

Bevestigen Commit wordt gebruikt om de transactie permanent te maken
De volgende dingen gebeuren wanneer een vastlegging wordt uitgevoerd
a)Al het werk dat door de transactie wordt gedaan, wordt permanent.
b)Andere gebruikers kunnen wijzigingen zien in de gegevens die door de transactie zijn aangebracht.
c )Alle sloten die door de transactie zijn verkregen, worden vrijgegeven.
Terugdraaien Terugdraaien wordt gebruikt om de transactie ongedaan te maken .
De volgende dingen gebeuren wanneer een terugdraaiing wordt uitgevoerd
a) Al het werk dat door de transactie is gedaan, wordt ongedaan gemaakt alsof het niet was uitgegeven.
b) Alle vergrendelingen die door de transactie zijn verkregen, worden vrijgegeven .
Opslaan Een SAVEPOINT is een punt in een transactie waarop u de transactie kunt terugdraaien naar een bepaald punt zonder de hele transactie terug te draaien.

Vraag (11)  Wat zijn SQLCODE en SQLERRM en waarom zijn ze belangrijk voor PL/SQL-ontwikkelaars?
Antwoord

SQLCODE retourneert de waarde van het foutnummer voor de laatst opgetreden fout. De SQLERRM retourneert het feitelijke foutbericht voor de laatst aangetroffen fout. Ze kunnen worden gebruikt bij het afhandelen van uitzonderingen om de fout die in de code is opgetreden, te rapporteren of op te slaan in een foutenlogboektabel. Deze zijn vooral handig voor de WHEN OTHERS-uitzondering.

Vraag (12) Hoe kun je binnen een PL/SQL-blok vinden of een cursor open is?
Antwoord
Gebruik de %ISOPEN cursor status variabele.

Vraag (13) Hoe kun je debugging-output van PL/SQL genereren?
Antwoord
Gebruik het pakket DBMS_OUTPUT. Een andere mogelijke methode is om gewoon het SHOW ERROR-commando te gebruiken, maar dit toont alleen fouten. Het pakket DBMS_OUTPUT kan worden gebruikt om tussenresultaten van lussen en de status van variabelen weer te geven terwijl de procedure wordt uitgevoerd. Het nieuwe pakket UTL_FILE kan ook worden gebruikt.

Vraag (14) Wat zijn PL/SQL-uitzonderingen?
Antwoord
Sommige hiervan zijn
1.Too_many_rows
2.No_Data_Found
3.Value_error
4.Zero_error etc.

Vraag (15) Wat is het maximale aantal triggers dat u op één tafel kunt toepassen?
Antwoord
12 triggers.

Vraag (16) Wat zijn de twee delen van het pakket?
Antwoord
De twee delen zijn pakketspecificatie en pakketlichaam
Ze bestaan ​​uit pakketspecificatie, die de functieheaders, procedureheaders en extern zichtbare gegevensstructuren bevat. De hoofdtekst van het pakket bevat de secties voor declaratie, uitvoerbare bestanden en uitzonderingen van alle gebundelde procedures en functies.

Vraag (17) Wat is de overbelasting van procedures?
Antwoord
Herhalen van dezelfde procedurenaam met een andere parameterlijst

Vraag (18) Wat zijn de parameters die aan een procedure kunnen worden doorgegeven?
Antwoord
IN, OUT, IN-OUT-parameters.

Vraag (19) Welk commando zou je gebruiken om een ​​PL/SQL-toepassing te versleutelen?
Antwoord
WRAP

Vraag (20) Hoeveel soorten triggers zijn er in PL/SQL?
Antwoord
Er zijn 12 typen triggers in PL/SQL die de combinatie van BEFORE, AFTER, ROW, TABLE, INSERT, UPDATE, DELETE en ALL bevatten.
◦BEFORE ALL ROW INSERT
◦NA ALLE RIJ INSERT
◦VOOR INSERT
◦NA INSERT etc.

Vraag (21) Geef de tabellen een naam waarin kenmerken van pakket, procedure en functies zijn opgeslagen?
Antwoord
dba_objects, dba_Source en dba_error.
of
user_objects,user_Source en user_error.

Vraag (22) Wat is opgeslagen Procedure?
Antwoord
Een opgeslagen procedure is een reeks instructies of een benoemd PL/SQL-blok dat een of meer specifieke functies uitvoert. Het is vergelijkbaar met een procedure in andere programmeertalen. Het wordt opgeslagen in de database en kan herhaaldelijk worden uitgevoerd. Het wordt opgeslagen als een schema-object. Het kan worden genest, aangeroepen en geparametriseerd.

Vraag (23) Hoe voer je een opgeslagen procedure uit?
Antwoord
Er zijn twee manieren om een ​​opgeslagen procedure uit te voeren.
Vanaf de SQL-prompt, schrijf EXECUTE of EXEC gevolgd door procedure_name

Vraag (24) Wat is Raise_application_error?
Antwoord
Raise_application_error is een procedure van pakket DBMS_STANDARD waarmee door de gebruiker gedefinieerde foutmeldingen kunnen worden afgegeven vanuit een opgeslagen subprogramma of een database-trigger.

Vraag (25) Wat is Pragma EXECPTION_INIT? Het gebruik uitleggen?
Antwoord
De PRAGMA EXCEPTION_INIT vertelt de compiler om een ​​uitzondering te associëren met een orakelfout. Om een ​​foutmelding te krijgen van een specifieke orakelfout.

bijv. PRAGMA EXCEPTION_INIT (uitzonderingsnaam, orakelfoutnummer)

Ik hoop dat je deze compilatie van Oracle PlSQL-interviewvragen leuk vindt. Ik zal in de toekomst meer van dit soort vragen posten

Verwante links

Oracle-apps interviewen vragen en beantwoorden

oracle dba-interviewvragen

Oracle RAC-interview Vragen

Weblogic Sollicitatievragen

Ik hoop dat je de compilatie van oracle plsql-interviewvragen leuk vindt. Geef alsjeblieft de feedback


  1. Gemeenschappelijke tabeluitdrukking, waarom puntkomma?

  2. SQL juiste join

  3. Is er een manier om toegang te krijgen tot de vorige rijwaarde in een SELECT-instructie?

  4. Hoe FOUT op te lossen:kolom c.relhasoids bestaat niet in Postgres?