30 most important pl sql interview questions
Top PL / SQL-interviewspørgsmål med eksempler, der hjælper dig med at forberede dig til det kommende interview:
Hvad er PL / SQL?
PL / SQL (Procedural Language / SQL) er grundlæggende en proceduremæssig udvidelse af Oracle - SQL. PL / SQL hjælper brugeren med at udvikle komplekse databaseapplikationer ved hjælp af kontrolstrukturer, procedurer, funktioner, moduler osv.
Denne artikel vil diskutere det øverste PL / SQL interview spørgsmål og svar.
PL / SQL Interview Spørgsmål og svar
Lad os begynde!!
Q # 1) Differentier PL / SQL og SQL?
Svar: Forskellen mellem SQL og PL / SQL kan kategoriseres som følger:
SQL | PL / SQL |
---|---|
SQL er et naturligt sprog, som er meget nyttigt til interaktiv behandling. | PL / SQL er en proceduremæssig udvidelse af Oracle - SQL. |
Ingen proceduremæssige egenskaber som tilstandstest, looping tilbydes af SQL. | PL / SQL understøtter proceduremæssige egenskaber såvel som høje sprogfunktioner såsom betingede udsagn, looping-udsagn osv. |
Alle SQL-sætninger udføres af databaseserveren ad gangen, og det er derfor en tidskrævende proces. | PL / SQL-udsagn sender hele sætningen af udsagn til databaseserveren på samme tid, hvilket reducerer netværkstrafikken betydeligt. |
Ingen fejlhåndteringsprocedurer er der i SQL. | PL / SQL understøtter tilpasset fejlhåndtering. |
Spørgsmål nr. 2) Anfør karakteristika for PL / SQL?
Svar:
Karakteristik af PL / SQL er som følger:
- PL / SQL giver adgang til og deling af de samme underprogrammer af flere applikationer.
- Det er kendt for portabiliteten af kode, da kode kan udføres på ethvert operativsystem, forudsat at Oracle er indlæst på det.
- Med PL / SQL kan brugere skrive deres egne tilpassede fejlhåndteringsrutiner.
- Forbedret transaktionsydelse med integration til Oracle data ordbog.
Q # 3) Hvad er datatyperne tilgængelige i PL / SQL?
Svar: Datatyper definerer måderne til at identificere datatypen og deres tilknyttede operationer.
Der er 4 typer foruddefinerede datatyper forklaret som følger:
- Scalar datatyper: En skalar datatype er en atomdatatype, der ikke har nogen interne komponenter.
- For eksempel
- CHAR (tegnværdi i fast længde mellem 1 og 32.767 tegn)
- VARCHAR2 (tegnværdi for variabel længde mellem 1 og 32.767 tegn)
- NUMMER (værdier med fast decimal, flydende decimal eller heltal)
- BOOLEAN (logisk datatype for SAND FALSK eller NULL-værdi)
- DATE (gemmer dato og klokkeslæt)
- LONG (tegndata af variabel længde)
- Sammensatte datatyper: En sammensat datatype består af andre datatyper og interne komponenter, der let kan bruges og manipuleres. For eksempel, OPTAG, TABEL og VARRAY.
- Referencedatatyper: En referencedatatype indeholder værdier, kaldet pointer, der betegner andre programelementer eller dataelementer. For eksempel, REF-MARKER.
- Datatyper med stort objekt: En datatype med stort objekt indeholder værdier, kaldet locators, der definerer placeringen af store objekter (såsom videoklip, grafisk billede osv.), Der er gemt uden for linjen.
- For eksempel
- BFILE (Binær fil)
- BLOB (binært stort objekt)
- CLOB (Tegn stort objekt)
- NCLOB (stort objekt af typen NCHAR)
Anbefalet læsning = >> PL SQL-datatyper
Q # 4) Forklar formålet med datatyperne% TYPE og% ROWTYPE med eksemplet?
Svar: PL / SQL bruger attributten% TYPE-erklæring til forankring. Denne attribut giver datatypen for en variabel, konstant eller kolonne. % TYPE-attribut er nyttig, når man erklærer en variabel, der har samme datatype som en tabelkolonne.
For eksempel, variablen m_empno har samme datatype og størrelse som kolonnen empno i tabel emp.
m_empno emp.empno%TYPE;
% ROWTYPE attribut bruges til at erklære en variabel som en post med den samme struktur som en række i en tabel. Rægen er defineret som en post, og dens felter har de samme navne og datatyper som kolonnerne i tabellen eller visningen.
For eksempel:
dept_rec dept%ROWTYPE;
Dette erklærer en post, der kan gemme en hel række til DEPT-tabellen.
Spørgsmål nr. 5) Hvad forstår du ved PL / SQL-pakker?
Svar: PL / SQL-pakker er skemaobjekter, der grupperer funktioner, lagrede procedurer, markører og variabler på et sted.
Pakkerne har 2 obligatoriske dele:
- Pakkespecifikationer
- Pakkehus
Spørgsmål nr. 6) Hvad forstår du ved PL / SQL-markører?
Svar: PL / SQL kræver en særlig kapacitet til at hente og behandle mere end en række, og den ressource er kendt som markører. En markør er en markør til kontekstområdet, som er et hukommelsesområde, der indeholder SQL-sætninger og information til behandling af udsagnene.
PL / SQL-markør er grundlæggende en mekanisme, hvorunder flere rækker af dataene fra databasen vælges, og derefter behandles hver række individuelt i et program.
Q # 7) Forklar markørtyper.
hvordan man sender array som parameter i java
Svar: Der er to typer markører.
De forklares som følger:
a) Eksplicitte markører: For forespørgsler, der returnerer mere end en række, erklæres en eksplicit markør og navngives af en programmør. For at bruge eksplicit markør i PL / SQL følges 4 trin
- Angiv markøren
Syntaks: MARKER er
SELECT-sætning;
Her er det navn, der er tildelt markøren, og SELECT-sætningen er den forespørgsel, der returnerer rækker til det markøraktive sæt.
- Åbn markøren
Syntaks: ÅBNE;
Hvor er navnet på den tidligere definerede markør.
- Hent rækker fra markøren
Syntaks: HENT INDE;
Her henviser til navnet på den tidligere definerede markør, hvorfra rækker hentes.
repræsenterer listen over variabler, der modtager de data, der hentes.
- Lukning af markøren
Syntaks: TÆT ;
Her lukkes navnet på markøren.
b) Implicitte markører: Når en SQL-sætning udføres, opretter PL / SQL automatisk en markør uden at definere, at sådanne markører kaldes implicitte markører.
I følgende udsagn anvender PL / SQL implicitte markører
- INDSÆT
- OPDATER
- SLET
- VÆLG (forespørgsler, der returnerer nøjagtigt en række)
Spørgsmål nr. 8) Hvornår bruger vi udløsere?
Svar: Ordet 'Trigger' betyder at aktivere. I PL / SQL er udløseren en lagret procedure, der definerer en handling, der udføres af databasen, når den database-relaterede begivenhed udføres.
Udløsere kræves hovedsageligt til følgende formål:
- At opretholde komplekse integritetsbegrænsninger
- Revisionstabeloplysninger ved at registrere ændringerne
- Signalering af andre programhandlinger, når der foretages ændringer i tabellen
- Håndhævelse af komplekse forretningsregler
- Forebyggelse af ugyldige transaktioner
Q # 9) Forklar forskellen i udførelsen af udløsere og lagrede procedurer?
Svar: En lagret procedure udføres eksplicit ved at udstede en procedureopkaldserklæring fra en anden blok via en procedureopkald med argumenter.
Udløseren udføres implicit, hver gang der udløses nogen udløsende begivenhed som forekomsten af DML-udsagn.
Q # 10) Forklar forskellen mellem udløsere og begrænsninger?
Svar: Udløsere adskiller sig fra begrænsninger på følgende måder:
Udløsere | Begrænsninger |
---|---|
Påvirker kun de rækker, der er tilføjet, efter at udløseren er aktiveret. | Påvirker alle rækker i tabellen, inklusive de der allerede findes, når begrænsningen er aktiveret. |
Triggers bruges til at implementere komplekse forretningsregler, som ikke kan implementeres ved hjælp af integritetsbegrænsninger. | Begrænsninger opretholder integriteten af databasen. |
Q # 11) Hvad er en PL / SQL-blok?
Svar: I PL / SQL grupperes udsagn i enheder kaldet Blocks. PL / SQL-blokke kan omfatte konstanter, variabler, SQL-sætninger, sløjfer, betingede udsagn, håndtering af undtagelser. Blokke kan også oprette en procedure, en funktion eller en pakke.
Bredt, PL / SQL-blokke er to typer:
(i) Anonyme blokke: PL / SQL-blokke uden header er kendt som anonyme blokke. Disse blokke udgør ikke kroppen til en procedure, funktion eller udløsere.
Eksempel:
DECLARE num NUMBER(2); sq NUMBER(3); BEGIN num:= &Number1; sq := num*num; DBMS_OUTPUT.PUT_LINE(‘Square:’ ||sq); END;
(ii) Navngivne blokke: PL / SQL-blokke med overskrift eller etiketter kaldes Navngivne blokke. Navngivne blokke kan enten være underprogrammer (procedurer, funktioner, pakker) eller udløsere.
tæller strenglængde mellemrum java
Anbefalet læsning = >> PL SQL-procedurer og funktioner
Eksempel:
FUNCTION sqr (num IN NUMBER) RETURN NUMBER is sq NUMBER(2); BEGIN sq:= num*num; RETURN sq; END;
Q # 12) Skelne mellem syntaks og runtime-fejl?
Svar:
Syntaksfejl er den, der let kan identificeres af en PL / SQL-kompilator. Disse fejl kan være en stavefejl osv.
Kørselsfejl er de fejl i PL / SQL-blok, for hvilke der skal medtages en undtagelseshåndteringssektion til håndtering af fejlene. Disse fejl kan være SELECT INTO-sætning, som ikke returnerer nogen rækker.
Spørgsmål nr. 13) Hvad er COMMIT, ROLLBACK og SAVEPOINT?
Svar: COMMIT, SAVEPOINT og ROLLBACK er tre transaktionsspecifikationer tilgængelige i PL / SQL.
FORPLIGTELSE erklæring: Når DML-operation udføres, manipuleres den kun med data i databasebuffer, og databasen forbliver upåvirket af disse ændringer. For at gemme / gemme disse transaktionsændringer i databasen er vi nødt til at FORPLIGGE transaktionen. COMMIT-transaktion gemmer alle udestående ændringer siden sidste COMMIT, og den følgende proces sker
- Berørte rækkelåse frigøres
- Transaktion markeret som fuldført
- Transaktionsdetaljer gemmes i dataordbogen.
Syntaks: BEGÅ;
ROLLBACK-erklæring: Når vi indtil videre vil fortryde eller slette de ændringer, der er sket i den aktuelle transaktion, skal vi rulles tilbage af transaktionen. Med andre ord sletter ROLLBACK alle udestående ændringer siden sidste COMMIT eller ROLLBACK.
Syntaks for at tilbageføre en transaktion fuldstændigt:
RULBACK;
SAVEPOINT-erklæring: SAVEPOINT-erklæringen giver et navn og markerer et punkt i behandlingen af den aktuelle transaktion. De ændringer og låse, der er opstået før SAVEPOINT i transaktionen, bevares, mens de ændringer, der opstår efter SAVEPOINT, frigives.
Syntaks:
SAVEPOINT;
Q # 14) Hvad er den muterende tabel og den begrænsende tabel?
Svar: En tabel, der i øjeblikket er ved at blive ændret af en DML-sætning som at definere udløsere i en tabel, er kendt som en Muterende bord .
En tabel, der muligvis skal læses fra for en begrænsning af henvisningens integritet, kaldes begrænsende tabel .
Q # 15) Hvad er faktiske parametre og formelle parametre?
Svar: Variablerne eller et udtryk, der kaldes parametre, der vises i proceduren, kaldes erklæring Faktiske parametre .
For eksempel: raise_sal (emp_num, fortjeneste + beløb);
Her i ovenstående eksempel er emp_num og beløb de to faktiske parametre.
De variabler, der er deklareret i procedurens overskrift og der henvises til i procedurens organ, kaldes som Formelle parametre .
For eksempel:
PROCEDURE raise_sal (emp_id INTEGER) IS
curr_sal VIRKELIG:
……… ..
BEGYNDE
VÆLG sal INTO cur_sal FRA emp WHERE empno = emp_id;
…….
END hæve_sal;
Her i eksemplet ovenfor fungerer emp_id som en formel parameter.
Spørgsmål nr. 16) Hvad er forskellen mellem ROLLBACK og ROLLBACK TO-udsagn?
Svar: Transaktionen afsluttes fuldstændigt efter ROLLBACK-erklæring, dvs. ROLLBACK-kommandoen fortryder fuldstændigt en transaktion og frigør alle låse.
På den anden side er en transaktion stadig aktiv og kører efter ROLLBACK TO-kommandoen, da den kun fortryder en del af transaktionen indtil den givne SAVEPOINT.
Q # 17) Skriv et PL / SQL-script for at få vist følgende række numre: 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; /
Q # 18) Hvad er de 3 parametre?
Svar: 3 tilstande for parameteren er IN, OUT, IN OUT.
Disse kan forklares som følger:
- IN-parametre: IN-parametre giver dig mulighed for at overføre værdier til den procedure, der kaldes, og kan initialiseres til standardværdier. IN-parametre fungerer som en konstant og kan ikke tildeles nogen værdi.
- OUT parametre: OUT-parametre returnerer værdien til den, der ringer op, og de skal specificeres. OUT-parametre fungerer som en ikke-initialiseret variabel og kan ikke bruges i et udtryk.
- IN OUT parametre: IN OUT parametre overfører startværdier til en procedure og returnerer opdaterede værdier til den, der ringer op. IN OUT-parametre fungerer som en initialiseret variabel og skal tildeles en værdi.
Spørgsmål nr. 19) Hvorfor er% ISOPEN altid forkert for en implicit markør?
Svar: En implicit markør, SQL% ISOPEN-attribut er altid falsk, fordi den implicitte markør åbnes for en DML-sætning og lukkes umiddelbart efter udførelsen af DML-sætningen.
Spørgsmål nr. 20) Når en DML-sætning udføres, i hvilken markørattributter, gemmes resultatet af udsagnet?
Svar: Udfaldet af udsagnet gemmes i 4 markørattributter.
Disse er:
- SQL% FUNDET
- SQL% NOTFOUND
- SQL% ROWCOUNT
- SQL% ISOPEN
Q # 21) Hvad er måderne at kommentere i en PL / SQL-kode på?
Svar: Kommentarer er den tekst, der er inkluderet i koden for at forbedre læsbarheden og for forståelsen af læseren. Disse koder udføres aldrig.
Der er to måder at kommentere i PL / SQL på:
1) Kommentar til en enkelt linje: Denne kommentar starter med dobbelt -.
hvordan man får vist en swf-fil
Eksempel:
ERKLÆRE
nummer NUMMER (2); - det er en lokal variabel.
BEGYNDE
2) Kommentar med flere linjer: Denne kommentar starter med / * og slutter med * /.
Eksempel:
BEGYNDE
num: = & p_num; / * Dette er en værtsvariabel, der bruges i programteksten * /
……….
ENDE
Spørgsmål nr. 22) Hvad forstår du ved undtagelseshåndtering i PL / SQL?
Svar: Når der opstår en fejl i PL / SQL, hæves undtagelsen. Med andre ord er en fejlhåndteringskode inkluderet i programmet for at håndtere uønskede situationer, hvor PL / SQL-scripts uventet afsluttes. I PL / SQL placeres al undtagelseshåndteringskode i et undtagelsesafsnit.
Der er 3 typer UNDTAGELSE:
- Foruddefinerede undtagelser: Almindelige fejl med foruddefinerede navne.
- Udefinerede undtagelser: Mindre almindelige fejl uden foruddefinerede navne.
- Brugerdefinerede undtagelser: Forårsager ikke runtime-fejl, men overtræder forretningsregler.
Spørgsmål nr. 23) Brug nogle foruddefinerede undtagelser?
Svar:
Nogle af de foruddefinerede undtagelser er:
- INGEN DATA FUNDET: Enkelt række SELECT-sætning, hvor ingen data returneres.
- TOO_MANY_ROWS: Enkelt række SELECT-sætning, hvor mere end en række returneres.
- INVALID_CURSOR: Ulovlig markørhandling opstod.
- ZERO_DIVIDE: Forsøgte at dele med nul.
Spørgsmål nr. 24) Hvad er PL / SQL-markørundtagelser?
Svar:
Undtagelserne relateret til PL / SQL-markører er:
- CURSOR_ALREADY_OPEN
- INVALID_CURSOR
Spørgsmål nr. 25) Forklar forskellen mellem markør erklæret i procedurer og markører angivet i pakkespecifikationen?
Svar: Markøren, der er angivet i proceduren, behandles som lokal og kan derfor ikke tilgås med andre procedurer.
Markøren, der er angivet i pakkespecifikationen, behandles som global og kan således tilgås ved andre procedurer.
Spørgsmål nr. 26) Hvad er i stedet for udløsere?
Svar: INSTEAD OF triggers er de triggere, der er skrevet specielt til at ændre visninger, som ikke kan ændres direkte via SQL DML-sætninger.
Spørgsmål nr. 27) Hvad er udtryk?
Svar: Udtryk er repræsenteret af en sekvens af bogstaver og variabler, der er adskilt af operatorer. I PL / SQL bruges operationer til at manipulere, sammenligne og beregne nogle data. Et udtryk er en sammensætning af 'operatører' og 'operander'.
- Operander: Dette er et argument for operatørerne. Operander kan være en variabel, funktionsopkald eller konstant.
- Operatører: Disse specificerer de handlinger, der skal udføres på operatører. Eksempel: '+', '*' Osv.
Q # 28) Liste en anden type udtryk med eksemplet.
Svar: Udtryk kan være som nævnt nedenfor:
- Numeriske eller aritmetiske udtryk: Eksempel: 20 * 10+ 15
- Boolske udtryk: Eksempel: 'Spot' Ligesom 'sp% t'
- Strengudtryk: Eksempel: LÆNGDE ('NEW YORK' || 'NY')
- Datoudtryk: Eksempel: SYSDATE> TO_DATE (’15 -NOV-16 ’,“ dd-mm-åå ”)
Q # 29) Skriv et program, der viser brugen af WHILE-sløjfen til at beregne gennemsnittet af brugerindtastede numre, og indtastning af flere numre stoppes ved at indtaste 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;
Spørgsmål nr. 30) Hvad forstår du af PL / SQL Records?
Svar: En PL / SQL-poster kan henvises til som en samling af værdier eller sige, en gruppe af flere informationsstykker, som hver er af enklere typer og kan relateres til hinanden som felter.
Der er tre typer poster understøttet i PL / SQL:
- Tabelbaserede optegnelser
- Programmer baserede optegnelser
- Markørbaserede optegnelser
Konklusion
PL / SQL er meget omfattende, når det kommer til læring og anvendelse. Håber, at disse interviewspørgsmål og svar hjælper dig med at gennemgå.
Læs vores omfattende for at lære mere om PL SQL PL / SQL vejledningsserie .
Glad læring !!
Anbefalet læsning
- Interviewspørgsmål og svar
- ETL Testing Interview Spørgsmål og svar
- Top 30+ populære agurkspørgsmål og svar
- Top 30 SAS Interview Spørgsmål og svar
- Top Oracle Interview-spørgsmål: Oracle Basic, SQL, PL / SQL-spørgsmål
- Top 30 sikkerhedstest Interviewspørgsmål og svar
- 30+ Top Scrum Interview Spørgsmål og svar (2021 LIST)
- Top 30 DBMS Interview Spørgsmål og svar