Laadige alla PDF
1) Mis on PL SQL?
PL SQL on protseduurikeel, millel on interaktiivne SQL, samuti protseduuriline programmeerimiskeele konstruktsioon nagu tinglik hargnemine ja iteratsioon.
2) Tehke vahet% ROWTYPE ja TYPE RECORD vahel.
% ROWTYPE kasutatakse juhul, kui päring tagastab kogu tabeli või vaate rea.
Seevastu TYPE RECORD kasutatakse juhul, kui päring tagastab erinevate tabelite või vaadete veeru.
Nt. TYPE r_emp on RECORD (sno smp.smpno% type, sname smp sname% type)
e_rec smp% ROWTYPE
Kursor c1 on valitud smpno, jaotatud smp-st;
e_rec c1% ROWTYPE
3) Selgitage kursori kasutamist.
Kursor on SQLis nimetatud privaatne ala, kust saab teavet juurde pääseda. Nad peavad mitu rida tagastavate päringute korral töötlema iga rida eraldi.
4) Näita silmuse kursori koodi.
Kursor deklareerib kaudselt% ROWTYPE silmusindeksina. Seejärel avab kursori, saab kirjete väljadelt aktiivsest komplektist väärtuste read ja lülitub välja, kui kõik kirjed on töödeldud.
Nt. Smp_reci jaoks C1 silmus
summaarne = summaarne summa + smp_recsal;
LÕPU;
5) Selgitage andmebaasi päästiku kasutamist.
Konkreetse andmebaasitabeliga seotud PL / SQL programmiüksust nimetatakse andmebaasi päästikuks. Seda kasutatakse:
1) Auditi andmete muudatused.
2) Logige sündmused läbipaistvalt.
3) Täitke keerukad ärireeglid.
4) Hoidke koopia tabeleid
5) Tuleta veeru väärtused
6) Rakendage keerukad turvaload
6) Mis on kahte tüüpi erandid.
Viga PL / SQL-ploki osa töötlemisel nimetatakse erandiks. Neil on kahte tüüpi: user_defined ja preefined.
7) Näidake mõnda eelnevalt määratletud erandit.
DUP_VAL_ON_INDEX
ZERO_DIVIDE
ANDMEID EI LEITUD
TOO_MANY_ROWS
CURSOR_ALREADY_OPEN
INVALID_NUMBER
INVALID_CURSOR
PROGRAM_ERROR
TIMEOUT _ON_RESOURCE
STORAGE_ERROR
LOGON_DENIED
VALUE_ERROR
jne.
8) Selgitage Raise_application_error.
See on paketi DBMS_STANDARD protseduur, mis võimaldab väljastada kasutaja määratletud veateateid andmebaasi päästikult või salvestatud alamprogrammist.
9) Näidake, kuidas PL SQL-plokis nimetatakse funktsioone ja protseduure.
Funktsiooni nimetatakse avaldise osaks.
kokku: = arvuta_sal ('b644')
Protseduuri kutsutakse avaldusena PL / SQL-is.
arvuta_boonus ('b644');
10) Selgitage kahte andmebaasi päästiku käivitamise ajal saadaolevat virtuaalset tabelit.
Tabeliveergudele viidatakse kui THEN.column_name ja NOW.column_name.
INSERTiga seotud käivitajate jaoks on väärtused NOW.column_name saadaval ainult.
Kustutamisega seotud päästikute jaoks on väärtused THOL.column_name saadaval ainult.
UPDATE-ga seotud päästikute jaoks on saadaval mõlemad tabeli veerud.
11) Milliseid reegleid tuleb NULL-ide suhtes võrrelda tehes?
1) NULL pole kunagi TÕSI ega VALE
2) NULL ei tohi olla teiste väärtustega võrdne ega ebavõrdne
3) Kui avaldise väärtus on NULL, siis avaldise enda väärtuseks on NULL, välja arvatud liitmisoperaator (||)
12) Kuidas koostatakse PL SQL-i protsess?
Kompileerimisprotsess sisaldab süntaksi kontrollimise, sidumise ja p-koodi genereerimise protsesse.
Süntaksikontroll kontrollib PL SQL-koodide koostamisvigade olemasolu. Kui kõik vead on parandatud, määratakse andmete hoidjatele muutujatele salvestusaadress. Seda nimetatakse sidumiseks. P-kood on PL SQL-i mootori juhiste loend. P-kood salvestatakse nimega plokkide andmebaasi ja seda kasutatakse järgmisel käivitamisel.
13) Tehke vahet süntaksi ja käituse vigade vahel.
Süntaksiviga saab PL / SQL-kompilaatori abil hõlpsasti tuvastada. Näiteks vale õigekiri.
Käivitusviga käsitletakse PL / SQL-ploki erandite käsitsemise sektsiooni abil. Näiteks SELECT INTO lause, mis ei tagasta ühtegi rida.
14) Selgitage Commit, Rollback ja Savepoint.
COMMIT-avalduse puhul kehtib järgmine:
- Teised kasutajad näevad tehinguga tehtud andmemuudatusi.
- Tehinguga omandatud lukud vabastatakse.
- Tehinguga tehtud töö muutub püsivaks.
ROLLBACK väljavõte väljastatakse siis, kui tehing lõpeb, ja järgmine kehtib.
- Üleminekul tehtud töö on tühistatud, nagu poleks seda kunagi välja antud.
- Kõik tehingu abil omandatud lukud vabastatakse.
See tühistab kogu töö, mille kasutaja on tehingus teinud. SAVEPOINTi abil saab tagasi võtta ainult osa tehingutest.
15) Määrake kaudsed ja otsesed kursorid.
Kursor on vaikimisi vaikimisi kasutatav. Kasutaja ei saa selle kursori teavet juhtida ega töödelda.
Kui päring tagastab mitu andmerida, määratleb programm selgesõnalise kursori. See võimaldab rakendusel töödelda iga rida järjest, kui kursor selle tagastab.
16) Selgitage tabeli muteerumise viga.
See juhtub siis, kui päästik üritab värskendada rida, mida see praegu kasutab. See on fikseeritud vaadete või ajutiste tabelite abil, nii et andmebaas valib ühe ja värskendab teist.
17) Millal on vaja deklareerida avaldust?
DECLARE-lauset kasutavad PL SQL-i anonüümsed plokid, näiteks iseseisvate, salvestamata protseduuride korral. Kui seda kasutatakse, peab see iseseisvas failis olema esikohal.
18) Mitu päästikut saab tabelisse rakendada?
Ühele tabelile saab rakendada maksimaalselt 12 päästikut.
19) Mis on SQLCODE ja SQLERRM tähtsus?
SQLCODE tagastab viimati ilmnenud tõrke veaarvu väärtuse, SQLERRM aga viimase tõrke teate.
20) Kui kursor on avatud, kuidas leiame PL SQL-i plokist?
saab kasutada kursori% ISOPEN muutujat.
21) Näidake kahte PL / SQL-i kursori erandit.
Kursor_Juba_avatud
Invaid_cursor
22) Millised operaatorid tegelevad NULLiga?
NVL teisendab NULL-i teiseks määratud väärtuseks.
var: = NVL (var2, 'Tere');
IS NULL ja IS NOT NULL saab kasutada spetsiaalselt kontrollimiseks, kas muutuja väärtus on NULL või mitte.
23) Kas SQL * Plusil on ka PL / SQL-mootor?
Ei, SQL * Plus ei ole sisseehitatud PL / SQL Engine'i. Seega saadetakse kogu PL / SQL-kood otse andmebaasimootorisse. See on palju tõhusam, kuna igat lauset ei eemaldata eraldi.
24) Millised paketid on PL SQL-i arendajatele saadaval?
DBMS_ pakettide seeria, näiteks DBMS_PIPE, DBMS_DDL, DBMS_LOCK, DBMS_ALERT, DBMS_OUTPUT, DBMS_JOB, DBMS_UTILITY, DBMS_SQL, DBMS_TRANSACTION, UTL_FILE.
25) Selgitage päästiku 3 põhiosa.
- Käivitav lause või sündmus.
- Piirang
- Tegevus
26) Mis on tähemärgi funktsioonid?
INITCAP, UPPER, SUBSTR, LOWER ja LENGTH on kõik märgifunktsioonid. Grupifunktsioonid annavad tulemusi ridade rühmade põhjal, erinevalt üksikutest ridadest. Need on MAX, MIN, AVG, COUNT ja SUM.
27) Selgitage TTITLE ja BTITLE.
TTITLE ja BTITLE käsud, mis kontrollivad aruande päiseid ja jaluseid.
28) Näidake PL / SQL-i kursori atribuudid.
% ISOPEN: kontrollib, kas kursor on avatud või mitte
% ROWCOUNT: värskendatud, kustutatud või tõmmatud ridade arv.
% FOUND: kontrollib, kas kursor on mõnda rida hankinud. On tõsi, kui ridu tõmmatakse
% EI LEITUD: Kontrollib, kas kursor on mõnda rida hankinud. On tõsi, kui ridu ei tõmmata.
29) Mis on ristmik?
Ristumine on kahe tabeli korrutis ja selles on loetletud ainult sobivad read.
30) Mis on järjestused?
Järjestusi kasutatakse järjestusnumbrite genereerimiseks ilma lukustamata üldkuludeta. Selle puuduseks on see, et järjekorranumber kaob, kui tehing tagasi lükatakse.
31) Kuidas viitaksite veeru väärtustele ENNE ja PÄRAST päästikute sisestamist ja kustutamist?
Märksõna „new.column name” abil saavad päästikud uue veeru väärtuste põhjal viidata veeru väärtustele. Kasutades märksõna "vana.veeru nimi", saavad nad veergude vaade viidata vana kogu järgi.
32) Mis on märksõnade SYSDATE ja USER kasutusalad?
SYSDATE viitab praegusele serverisüsteemi kuupäevale. See on pseudokolonn. USER on ka pseudoveerg, kuid viitab praegusele kasutajale, kes on seansile sisse logitud. Neid kasutatakse tabelis toimuvate muutuste jälgimiseks.
33) Kuidas aitab ROWID päringu kiiremini käivitada?
ROWID on rea loogiline aadress, see pole füüsiline veerg. See koosneb andmeploki numbrist, failinumbrist ja andmeploki rea numbrist. Seega minimeeritakse sisend- / väljundiaeg rea hankimisel minimaalseks ja tulemuseks on kiirem päring.
34) Milleks andmebaasi linke kasutatakse?
Andmebaaside lingid luuakse suhtluse loomiseks erinevate andmebaaside või erinevate keskkondade, näiteks testimise, arendamise ja tootmise vahel. Andmebaasi lingid on kirjutuskaitstud, et pääseda juurde ka muule teabele.
35) Mida teeb kursori toomine?
Kursori toomisel loetakse Tulemus Määra rida real.
36) Mida teeb kursori sulgemine?
Kursori sulgemine puhastab nii privaatse SQL-ala kui ka eraldab mälu
37) Selgitage juhtfaili kasutamist.
See on binaarfail. See salvestab andmebaasi struktuuri. See sisaldab mitmete logifailide asukohti, nimesid ja ajatemplid. Neid saab salvestada erinevatesse kohtadesse, mis aitab teavet hankida, kui üks fail rikutakse.
38) Selgitage järjepidevust
Järjepidevus näitab, et andmed ei kajastu teistele kasutajatele enne andmete sidumist, nii et järjepidevus säiliks.
39) Erinevad anonüümsed plokid ja alamprogrammid.
Anonüümsed plokid on nimetud plokid, mida ei salvestata kuhugi, samal ajal kui alamprogrammid kompileeritakse ja hoitakse andmebaasis. Need koostatakse käitamise ajal.
40) Erinevus DECODE ja CASE vahel.
DECODE ja CASE laused on väga sarnased, kuid CASE on DECODE laiendatud versioon. DECODE ei võimalda otsuste tegemist avalduste asemel.
vali dekodeerimine (summaar = 12000, 'kõrge', 10000, 'keskmine') dekodeerimise_tesriks smp-st, kus smpno on (10,12,14,16);
See lause annab vea.
CASE-d kasutatakse otse PL SQL-is, kuid DECODE-d kasutatakse PL SQL-is ainult SQL-i kaudu.
41) Selgitage autonoomset tehingut.
Autonoomne tehing on põhi- või põhitehingu iseseisev tehing. See ei ole pesastatud, kui selle käivitab mõni muu tehing.
Autonoomsete tehingute, näiteks sündmuste logimise ja auditeerimise, kasutamiseks on mitu olukorda.
42) Tehke vahet SGA-l ja PGA-l.
SGA tähistab süsteemi ülemaailmset piirkonda, PGA aga programmi või protsessi ülemaailmset ala. PGA-le eraldatakse ainult 10% RAM-i, kuid SGA-le antakse 40% RAM-i suurus.
43) Mis on Pre_defined_functions asukoht.
Need on salvestatud standardpaketti nimega "Funktsioonid, protseduurid ja paketid"
44) Selgitage PL SQL-i polümorfismi.
Polüorfism on OOP tunnuseks. See on võime luua mitme vormiga muutuja, objekt või funktsioon. PL / SQL toetab polümorfismi programmiüksuse ülekoormuse näol liikmefunktsiooni või paketi sees ... Ülekoormuse ajal tuleb vältida üheselt mõistetavat loogikat.
45) Mis on MERGE'i kasutusalad?
MERGE-d kasutatakse mitme DML-lause ühendamiseks ühes.
Süntaks: liita lauanimeks
kasutades (päring)
sees (liitumistingimus)
kui siis ei sobi
[sisesta / uuenda / kustuta] käsk
kui siis sobib
[sisesta / uuenda / kustuta] käsk
46) Kas hajutatud andmebaasisüsteemis saab samaaegselt täita 2 päringut?
Jah, neid saab samaaegselt täita. Üks päring on alati sõltumatu teisest päringust hajutatud andmebaasisüsteemis, tuginedes 2-faasilisele pühendumisele.
47) Selgitage tõsta_rakenduse_viga.
See on paketi DBMS_STANDARD protseduur, mis võimaldab andmebaasi päästikult või salvestatud alamprogrammist väljastada kasutaja määratletud veateateid.
48) Mis on parameeter out, mida kasutatakse juhul, kui return-lauset saab kasutada ka pl / sql-s?
Väljundparameetrid lubavad helistamisprogrammis rohkem kui ühte väärtust. Funktsioonides ei ole parameeter Out soovitatav. Funktsioonide asemel saab kasutada protseduure, kui on vaja mitut väärtust. Seega kasutatakse neid protseduure Out-parameetrite käivitamiseks.
49) Kuidas teisendaksite kuupäeva Juliuse kuupäevavormingusse?
Saame kasutada J-vormingus stringi:
SQL> vali to_char (to_date ('29 -Mar-2013 ',' dd-mon-yyyy '),' J ') julianiks kahest;
Juuli
50) Selgitage SPOOL
Spooli käsk suudab failis olevate sql-lausete väljundi printida.
spool / tmp / sql_outtxt
vali smp_name, smp_id smp-st, kus dept = 'kontosid';
pool maha;
51) Mainige, millest koosneb PL / SQL pakett?
PL / SQL pakett koosneb
- PL / SQL-i tabel ja salvestage TYPE-laused
- Protseduurid ja funktsioonid
- Kursorid
- Muutujad (tabelid, skalaarid, kirjed jne) ja konstandid
- Erandinimed ja pragmad vea numbri seostamiseks erandiga
- Kursorid
52) Mainige, mis on PL / SQL pakettide eelised?
See pakub mitmeid eeliseid nagu
- Sunniviisiline teabe varjamine: see annab vabaduse valida, kas hoida andmeid privaatsena või avalikuna
- Ülalt alla disain: saate kujundada liidese paketis peidetud koodile enne moodulite enda juurutamist
- Objekti püsivus: paketispetsifikatsioonis deklareeritud objektid käituvad kõigi rakenduse PL / SQL-objektide globaalsete andmetena. Paketti saab modifitseerida ühes moodulis ja seejärel viidata muudatusele teisele moodulile
- Objektile orienteeritud disain: pakett annab arendajatele tugeva hoiaku selle kohta, kuidas pakendis olevaid mooduleid ja andmestruktuure saab kasutada
- Tehingu terviklikkuse tagamine: see tagab tehingu terviklikkuse taseme
- Toimivuse paranemine: RDBMS jälgib automaatselt kõigi andmebaasi salvestatud programmi objektide kehtivust ja parandab pakettide toimivust.
53) Mainige, millised on erinevad meetodid PL / SQL-koodi jälgimiseks?
Koodi jälgimine on ülitähtis tehnika koodi jõudluse mõõtmiseks käituse ajal. Erinevad meetodid jälgimiseks hõlmavad järgmist
- DBMS_APPLICATION_INFO
- DBMS_TRACE
- DBMS_SESSION ja DBMS_MONITOR
- trcsess ja tkproof kommunaalteenused
54) Mainige, mida teeb hierarhiline profileerija?
Hierarhiline profiiliprogramm võiks profileerida PL / SQL-is tehtud kõnesid, lisaks tühimike täitmisele ja jõudluse jälgimise ootustele. Hierarhilise profileerija efektiivsus hõlmab järgmist
- Eriline aruandlus SQL ja PL / SQL ajakulu kohta
- Aruanded loendavad PL / SQL-is tehtud eraldi alamprogrammide kõnesid ja iga alamprogrammi kõnega kulutatud aega
- Mitu HTML-vormingus interaktiivset analüüsi aruannet käsurea utiliidi abil
- Efektiivsem kui tavaline profileerija ja muud jälitamise utiliidid
55) Mainige, mida võimaldab PLV msg teha?
PLV-sõnum võimaldab teil seda teha
- Määrake individuaalne tekstisõnum tabeli PL / SQL määratud reale
- See otsib sõnumi teksti numbri järgi
- See asendab teie enda sõnumid standardsete Oracle'i veateadetega, millel on piirang
- Pakkide laadimise sõnumite numbrid ja tekst andmebaasitabelist otse PLV msg PL / SQL tabel
56) Mainige, mida pakub pakett PLV (PL / Vision)?
- Null asendusväärtus
- Kinnitusrutiinide komplekt
- Mitmesugused kommunaalteenused
- Konstantide komplekt, mida kasutatakse kogu PL nägemises
- Eelnevalt määratletud andmetüübid
- 57) Mainige, mis on PLVpr-de ja PLVprsps-i kasutamine?
- PLVprs: see on PL / SQL-i stringide sõelumise laiendus ja see on stringide parsimise funktsionaalsuse madalaim tase
- PLVprsps: PL / SQL lähtekoodi sõelumine eraldi aatomiteks on kõrgeima tasemega pakett. Töö tegemiseks tugineb see teistele parsimispakettidele.
58) Selgitage, kuidas saate faili failisisu kopeerida ja faili PL / SQL-i tabelisse eelnevalt PL / SQL-i kopeerida?
Ühe programmikutsega - " fcopy procedure" - saate ühe faili kogu sisu kopeerida teise faili. Kuigi faili sisu kopeerimiseks otse PL / SQL-i tabelisse, võite kasutada programmi " file2pstab" .
59) Selgitage, kuidas tehakse erandite käsitlemist eelnevalt PL / SQL-is?
Erandina pakub PL / SQl käitlemine tõhusat pistikprogrammi PLVexc. PLVexc toetab nelja erinevat erandite käsitlemise toimingut.
- Jätka töötlemist
- Salvestage ja jätkake
- Peatage töötlemine
- Salvestage ja seejärel peatage töötlemine
Korduvate erandite korral võite kasutada käsku RAISE.
60) Maini, millise probleemiga võib logiteabe kirjutamisel PL / SQL-i andmebaasi tabelisse sattuda?
Logiteabe andmebaasi tabelisse kirjutamise ajal seisate silmitsi probleemiga, et teave on saadaval ainult siis, kui uued read on andmebaasi sidunud. See võib olla probleem, kuna selline PLVlog on tavaliselt juurutatud vigade jälgimiseks ja paljudel sellistel juhtudel ebaõnnestub praegune tehing või on vaja muul viisil tagasivõtmist.
61) Maini, mis on funktsioon, mida kasutatakse PL / SQL-i tabelilogi andmebaasitabelisse viimiseks?
PL / SQL-i tabelilogi edastamiseks kasutatakse andmebaasi logitabeli funktsiooni "PROCEDURE ps2db" .
62) Kui peate kasutama vaikimisi "tagasipöördumist" PLVlogi salvestuspunkti?
Vaikimisi "tagasipöördumist" PLVlogi salvestuspunkti kasutatakse siis, kui kasutajad on sisselülitamise sisse lülitanud ega ole put_line'i kõnes pakkunud alternatiivset salvestuspunkti. Vaikimisi salvestuspunkt lähtestatakse väärtuseks c none konstants.
63) Miks peetakse PLVtab-i lihtsaimaks viisiks PL / SQL-tabelisse pääseda?
PL / SQL tabel on PL / SQL massiividele kõige lähemal ja sellele tabelile pääsemiseks peate esmalt deklareerima tabeli tüübi ja seejärel deklareerima PL / SQL tabeli enda. Kuid kasutades PLVtabi saate vältida oma PL / SQL-i tabelitüübi määratlemist ja muuta PL / SQL-i andmetabelitele juurdepääs lihtsaks.
64) Mainige, mida PLVtab võimaldab teil teha, kui kuvate PL / SQL-i tabelite sisu?
PLVtab võimaldab teil PL / SQL-i tabelite sisu kuvamisel teha järgmisi asju
- Näitab või summutab tabeli päise
- Tabeli väärtuste rea numbrite kuvamine või tühistamine
- Näidake iga tabeli rea ees eesliidet
65) Selgitage, kuidas saate oma sõnumit tabelisse salvestada või paigutada?
Msg-i salvestamiseks tabelisse saate seda teha kahel viisil
- Laadige üksikud sõnumid koos kõnega protseduurile add_text
- Laadige sõnumikomplektid andmebaasitabelist protseduuriga load_from_dbms
66) Mainige, mis on funktsiooni "mooduliprotseduur" kasutamine PL / SQL-is?
"Mooduliprotseduur" võimaldab kindla programmiüksuse kõik koodiread teisendada ühe protseduurikutsega. Moodulite jaoks on kolm argumenti
- moodul_ sees
- cor_in
- Last_module_in
67) Mainige, mida PLVcmt ja PLVrb PL / SQL-is teeb?
PL / Vision pakub kahte paketti, mis aitavad teil hallata tehingute töötlemist PL / SQL-rakenduses. See on PLVcmt ja PLVrb.
- PLVcmt: PLVcmt pakett ümbritseb pühendumise töötlemise loogikat ja keerukust
- PLVrb: See pakub programmilist liidest PL-i / SQL-i tagasitõmbamiseks