sql >> Database teknologi >  >> RDS >> Oracle

oracle PLSQL interviewspørgsmål

Her er en samling af de mest almindeligt stillede oracle plsql-interviewspørgsmål. Disse vil helt sikkert hjælpe dig i interviewet. Spørgsmålene er fra grundlæggende til avancerede niveauer og dækker de fleste aspekter af PLSQL-programmeringen. Jeg håber, du finder dette nyttigt

Spørgsmål (1) Hvad er Oracle PLSQL?
Svar
PL/SQL er en proceduremæssig sprogudvidelse til Structured Query Language (SQL). Formålet med PL/SQL er at kombinere databasesprog og proceduremæssigt programmeringssprog


Spørgsmål(2) Hvad er komponenterne i en PL/SQL-blok?
Svar
Deklarativ del, eksekverbar del og undtagelsesdel.

Spørgsmål (3) Hvilke datatyper er tilgængelige i PL/SQL?
Svar
Nogle skalære datatyper såsom
NUMBER, VARCHAR2, DATE, CHAR, LONG, BOOLEAN.
Nogle sammensatte datatyper såsom RECORD &TABLE.

Spørgsmål (4) Hvad er en markør? Hvorfor er markør påkrævet?
Svar
Markøren er et navngivet privat SQL-område, hvorfra der er adgang til information.
Markører er påkrævet for at behandle rækker individuelt for forespørgsler, der returnerer flere rækker.

Spørgsmål (5)  Hvad er forskellen mellem procedure og funktion?
Svar

Funktion Procedure
Funktionen skal returnere en værdi Proceduren behøver ikke
Syntaks 
FUNKTIONSnavn (argumentliste …..) Returdatatypen er
lokale variabeldeklarationer
Begynd
eksekverbare sætninger
Undtagelse
udførelsesbehandlere
End;
Syntaks
PROCEDUREnavn (parameterliste…..)
er
lokale variabeldeklarationer
BEGIN
Eksekverbare sætninger.
Undtagelse.
undtagelsesbehandlere
ende;
Funktionen kan bruges i SQL med nogle begrænsninger Proceduren kan ikke kaldes direkte fra SQL.

Spørgsmål (6) Hvad er forskellen mellem DELETE og TRUNCATE?
Svar

Slet Trunkeret
DELETE er en DML-kommando TRUNCATE er en DDL-kommando.
Syntaks 
Slet * fra tabellen
Bekræft;
Syntaks
Trunker tabel ;
Det ændrer ikke på højvandsmærket TRUNCATE genindstil hukommelsesblokkene efter udførelse, dvs. den indstiller objektets højvandsmærke
Den kan rulles tilbage Den kan ikke rulles tilbage
Sletningsudløseren udløses Ingen udløsere udløses
Rullback-segmenter bruges Der bruges færre rollback-segmenter, og det er meget hurtigere

Spørgsmål (7) Hvad er implicit markør og eksplicit markør?
Svar

Implicit markør Eksplicit markør
Implicit markør er defineret og kontrolleret af Oracle internt. Eksplicit markør er defineret og styret programmatisk.
Syntaks 
erklær
v_dept varchar2(50);
begynd
vælg afd. i v_dept fra afd. hvor placering ='XYZ';
slut;
Syntaks
erklær
v_dept varchar2(50);
Cursor Cur_dept er valgt afd. til v_dept fra afd. hvor placering ='XYZ';
begynd
Åben Cur_dept;
Hent Cur_dept til v_dept;
Luk Cur_dept;
slut;
Al udvælgelse/opdateringsforespørgsel, der bruges i PL/SQL-blok, er en implicit markør Eksplicit markør er åben, hent og luk

Spørgsmål (8) Hvad er rowid og rownum?
Svar
Rowid er et hexadecimalt unikt tal for hver række i en tabel, der bruges til søgning.
Rownum er et unikt heltal for hver række i en tabel, der kan bruges til sortering eller analyse.

Spørgsmål (9)  Forklar forskellen mellem en FUNKTION, PROCEDURE og PAKKE
Svar

Funktion -En funktion har en returtype i sin specifikation og skal returnere en værdi specificeret i den type.
-De er gemt i kompileret form i databasen
– Funktioner kan kaldes hvor som helst i en gyldig udtryk
Vælg fnd_profile.value('xyz)  fra dual;
Procedure -En procedure har ikke en returtype i sin specifikation og bør ikke returnere nogen værdi, men den kan have en retursætning, der simpelthen stopper dens udførelse og returnerer til den, der ringer
-De er gemt i kompileret form i databasen
-Procedurer kaldes som stand-alone eksekverbare sætninger:my_proc(parameter1,parameter2…);
Pakker -Pakker indeholder funktioner, procedurer og andre datastrukturer.
– Fordelene ved pakker er modularitet, lettere applikationsdesign og information.
Skjuling, genanvendelighed og bedre ydeevne.
-Der er en række forskelle mellem pakkede og ikke-pakkede PL/SQL-programmer.
Pakke Dataene i pakken er vedvarende i varigheden af ​​brugerens session. Dataene i pakken eksisterer således på tværs af commits i sessionen.
-Hvis du giver execute privilege på en pakke, er det for alle funktioner og procedurer, og datastrukturer i pakkespecifikationen. Du kan ikke tildele privilegier på kun én procedure eller funktion i en pakke.-Du kan overbelaste procedurer og funktioner i en pakke, der erklærer flere programmer med samme navn. Det korrekte program, der skal kaldes, bestemmes under kørsel, baseret på antallet af datatyper for parametrene.

Spørgsmål (10)   Definer Commit, Rollback og Save-point.

Svar.

Forpligtelse Commit bruges til at gøre transaktionen permanent
Følgende ting sker, når en commit udføres
a)Alt arbejde udført af transaktionen bliver permanent.
b)Andre brugere kan se ændringer i data foretaget af transaktionen.
c )Eventuelle låse erhvervet ved transaktionen frigives.
Tilbage Tilbageføring bruges til at fortryde transaktionen .
Følgende ting sker, når en tilbagerulning udføres
a)Alt arbejde udført af transaktionen fortrydes, som om det ikke var blevet udstedt.
b) Eventuelle låse erhvervet af transaktionen frigives .
Savepoint Et SAVEPOINT er et punkt i en transaktion, hvor du kan rulle transaktionen tilbage til et bestemt punkt uden at rulle hele transaktionen tilbage.

Spørgsmål (11)  Hvad er SQLCODE og SQLERRM, og hvorfor er de vigtige for PL/SQL-udviklere?
Svar

SQLCODE returnerer værdien af ​​fejlnummeret for den sidst stødte fejl. SQLERRM returnerer den faktiske fejlmeddelelse for den sidst stødte fejl. De kan bruges i undtagelseshåndtering til at rapportere, eller lagre i en fejllogtabel, den fejl, der opstod i koden. Disse er især nyttige for undtagelsen WHEN OTHERS.

Spørgsmål (12) Hvordan kan du finde i en PL/SQL-blok, hvis en markør er åben?
Svar
Brug %ISOPEN cursorstatusvariablen.

Spørgsmål (13) Hvordan kan du generere fejlfindingsoutput fra PL/SQL?
Svar
Brug DBMS_OUTPUT-pakken. En anden mulig metode er blot at bruge kommandoen SHOW ERROR, men denne viser kun fejl. DBMS_OUTPUT-pakken kan bruges til at vise mellemresultater fra sløjfer og status for variabler, når proceduren udføres. Den nye pakke UTL_FILE kan også bruges.

Spørgsmål (14) Hvad er PL/SQL-undtagelser?
Svar
Nogle af dem er
1.Too_many_rows
2.No_Data_Found
3.Value_error
4.Zero_error osv.

Spørgsmål (15) Hvad er det maksimale antal udløsere, du kan anvende på en enkelt tabel?
Svar
12 udløsere.

Spørgsmål (16) Hvad er de to dele af pakken?
Svar
De to dele er pakkespecifikation og pakketekst
De består af pakkespecifikation, som indeholder funktionsheadere, procedureheadere og eksternt synlige datastrukturer. Pakketeksten indeholder deklarations-, eksekverbare- og undtagelseshåndteringssektionerne for alle de medfølgende procedurer og funktioner.

Spørgsmål (17) Hvad er overbelastning af procedurer?
Svar
Gentagelse af samme procedurenavn med en anden parameterliste

Spørgsmål (18) Hvad er de parametre, der kan overføres til en procedure?
Svar
IN, OUT, IN-OUT parametre.

Spørgsmål (19) Hvilken kommando ville du bruge til at kryptere en PL/SQL-applikation?
Svar
WRAP

Spørgsmål (20) Hvor mange typer triggere findes der i PL/SQL?
Svar
Der er 12 typer af triggere i PL/SQL, der indeholder kombinationen af ​​FØR, EFTER, RÆKKE, TABEL, INSERT, OPDATERING, SLET og ALLE søgeord.
◦FØR ALLE RÆKKER INDSÆT
◦ EFTER ALLE RÆKKEINDSÆTNING
◦FØR INDSÆTNING
◦EFTER INDSÆTNING osv.

Spørgsmål (21) Navngiv de tabeller, hvor karakteristika for pakke, procedure og funktioner er gemt?
Svar
dba_objects, dba_Source og dba_error.
eller
user_objects,user_Source og user_error.

Spørgsmål (22) Hvad er gemt procedure?
Svar
En lagret procedure er en sekvens af sætninger eller en navngivet PL/SQL-blok, der udfører en eller flere specifikke funktioner. Det ligner en procedure i andre programmeringssprog. Det er gemt i databasen og kan udføres gentagne gange. Det gemmes som et skemaobjekt. Det kan indlejres, fremkaldes og parametreres.

Spørgsmål (23) Hvordan udfører man en lagret procedure?
Svar
Der er to måder at udføre en lagret procedure på.
Skriv EXECUTE eller EXEC fra SQL-prompten efterfulgt af procedurenavn

Spørgsmål (24) Hvad er Raise_application_error?
Svar
Raise_application_error er en procedure i pakken DBMS_STANDARD, som tillader udsendelse af brugerdefinerede fejlmeddelelser fra lagret underprogram eller databaseudløser.

Spørgsmål (25) Hvad er Pragma EXECPTION_INIT? Forklar brugen?
Svar
PRAGMA EXCEPTION_INIT fortæller compileren at associere en undtagelse med en orakelfejl. For at få en fejlmeddelelse om en specifik oracle-fejl.

for eksempel. PRAGMA EXCEPTION_INIT (undtagelsesnavn, orakelfejlnummer)

Håber du kan lide denne samling af Oracle PlSQL-interviewspørgsmål. Jeg vil poste flere sådanne spørgsmål i fremtiden

Relaterede links

Oracle-apps interviewspørgsmål og svar

oracle dba interviewspørgsmål

Spørgsmål til Oracle RAC-interview

Weblogic Interview spørgsmål

Håber du kan lide samlingen af ​​oracle plsql-interviewspørgsmål. Giv venligst feedback


  1. Sender xml-strengparameter til SQL Server-lagret procedure

  2. To-do liste applikation ved hjælp af PHP og MySQL database

  3. Send flere værdier i en enkelt parameter

  4. Vil SQL-opdatering påvirke dens underforespørgsel under opdateringskørsel?