Preuzmite PDF
1) Što je PL SQL?
PL SQL je proceduralni jezik koji ima interaktivni SQL, kao i konstrukcije proceduralnog programskog jezika poput uvjetnog razgrananja i ponavljanja.
2) Razlikovati između% ROWTYPE i TYPE RECORD.
% ROWTYPE koristi se kada upit vraća cijeli redak tablice ili pogleda.
S druge strane, TYPE RECORD se koristi kada upit vraća stupac različitih tablica ili pogleda.
Npr. TIP r_emp je RECORD (sno smp.smpno% type, sname smp sname% type)
e_rec smp% ROWTYPE
Pokazivač c1 je odabran smpno, odvojen od smp;
e_rec c1% VRTINA
3) Objasnite upotrebu kursora.
Pokazivač je imenovano privatno područje u SQL-u iz kojeg se može pristupiti informacijama. Oni trebaju obraditi svaki redak pojedinačno za upite koji vraćaju više redaka.
4) Prikaži kôd pokazivača za petlju.
Kursor implicitno deklarira% ROWTYPE kao indeks petlje. Zatim otvara kursor, dobiva retke vrijednosti iz aktivnog skupa u poljima zapisa i zatvara se kada se obrade svi zapisi.
Npr. ZA smp_rec U C1 LOOP
ukupni = ukupni + smp_recsal;
ZAVJETKA;
5) Objasnite upotrebu okidača baze podataka.
Programska jedinica PL / SQL povezana s određenom tablicom baze podataka naziva se okidač baze podataka. Koristi se za:
1) Revizija podataka izmjena.
2) Transparentno bilježite događaje.
3) Provoditi složena poslovna pravila.
4) Održavanje tablica replika
5) Izvesti vrijednosti stupaca
6) Provesti složena sigurnosna ovlaštenja
6) Koje su dvije vrste iznimaka.
Pogreška pri rukovanju dijelom PL / SQL bloka naziva se Iznimka. Imaju dvije vrste: korisnički_definirano i unaprijed definirano.
7) Prikaži neke unaprijed definirane iznimke.
DUP_VAL_ON_INDEX
NULA_DIJELI
NE_PODATAK_NAĐEN
TOO_MANY_ROWS
CURSOR_ALREADY_OPEN
POGREŠAN BROJ
INVALIDNI_KURSOR
PROGRAM_ERROR
TIMEOUT _ON_RESOURCE
STORAGE_ERROR
LOGON_DENIED
VALUE_ERROR
itd.
8) Objasnite grešku Raise_application__.
To je postupak paketa DBMS_STANDARD koji omogućuje izdavanje korisničkih_definiranih poruka pogreške iz okidača baze podataka ili spremljenog potprograma.
9) Pokažite kako se funkcije i procedure pozivaju u PL SQL bloku.
Funkcija se naziva dijelom izraza.
ukupno: = izračunaj_sal ('b644')
Postupak se poziva kao izraz u PL / SQL-u.
izračunaj_bonus ('b644');
10) Objasnite dvije virtualne tablice dostupne u vrijeme izvršenja okidača baze podataka.
Stupci tablice nazivaju se THEN.column_name i NOW.column_name.
Za okidače povezane s INSERT dostupne su samo vrijednosti NOW.column_name.
Za okidače povezane s DELETE dostupne su samo vrijednosti THEN.column_name.
Za okidače povezane s UPDATE dostupna su oba stupca tablice.
11) Koja se pravila primjenjuju na NULL-ove tijekom usporedbe?
1) NULL nikada nije TRUE ili FALSE
2) NULL ne može biti jednak ili nejednak ostalim vrijednostima
3) Ako je vrijednost u izrazu NULL, tada se sam izraz izračunava NULL, osim za operator spajanja (||)
12) Kako se sastavlja postupak PL SQL-a?
Proces kompilacije uključuje provjeru sintakse, povezivanje i generiranje p-koda.
Provjera sintakse provjerava PL SQL kodove na pogreške u kompilaciji. Kada se isprave sve pogreške, varijablama koje sadrže podatke dodjeljuje se adresa za pohranu. Zove se Vezanje. P-kod je popis uputa za PL SQL mehanizam. P-kod se pohranjuje u bazu podataka za imenovane blokove i koristi se sljedeći put kada se izvrši.
13) Razlikovati sintaksne i runtime pogreške.
Sintaksnu pogrešku PL / SQL kompajler može lako otkriti. Na primjer, netočan pravopis.
Rutacijska pogreška obrađuje se uz pomoć odjeljka za rukovanje iznimkama u PL / SQL bloku. Na primjer, SELECT INTO izraz koji ne vraća nijedan redak.
14) Objasnite Porezivanje, povrat i Spremanje točke.
Za naredbu COMMIT vrijedi sljedeće:
- Ostali korisnici mogu vidjeti promjene podataka izvršene transakcijom.
- Brave stečene transakcijom se oslobađaju.
- Posao obavljen transakcijom postaje trajan.
Izvod ROLLBACK izdaje se kad transakcija završi, a sljedeće je točno.
- Posao izveden u tranziciji poništava se kao da nikada nije izdan.
- Oslobađaju se sve brave stečene transakcijom.
Poništava sav posao koji je korisnik obavio u transakciji. Pomoću SAVEPOINT-a može se poništiti samo dio transakcije.
15) Definirajte implicitne i eksplicitne pokazivače.
Kursor je podrazumevano podrazumevan. Korisnik ne može kontrolirati ili obraditi podatke u ovom pokazivaču.
Ako upit vraća više redaka podataka, program definira eksplicitni kursor. To omogućuje aplikaciji obradu svakog retka uzastopno dok ga kursor vraća.
16) Objasnite pogrešku mutirajuće tablice.
Pojavljuje se kada okidač pokuša ažurirati redak koji trenutno koristi. Popravljen je pomoću prikaza ili privremenih tablica, pa baza podataka odabire jedan, a ažurira drugi.
17) Kada je potrebna izjava izjave?
Izraz DECLARE koriste anonimni blokovi PL SQL, kao što su samostalni, nespremljeni postupci. Ako se koristi, mora biti na prvom mjestu u samostalnoj datoteci.
18) Koliko okidača se može primijeniti na tablicu?
Na jednu tablicu može se primijeniti najviše 12 okidača.
19) Koja je važnost SQLCODE i SQLERRM?
SQLCODE vraća vrijednost broja pogreške za posljednju naišlu grešku, dok SQLERRM vraća poruku za posljednju pogrešku.
20) Ako je kursor otvoren, kako ga možemo pronaći u bloku PL SQL?
može se koristiti varijabla statusa kursora% ISOPEN.
21) Prikažite dvije iznimke PL / SQL kursora.
Kursor_Već_Otvoren
Invaid_cursor
22) Koji se operateri bave NULL-om?
NVL pretvara NULL u drugu navedenu vrijednost.
var: = NVL (var2, 'Bok');
IS NULL i IS NOT NULL može se koristiti za specifičnu provjeru je li vrijednost varijable NULL ili nije.
23) Ima li SQL * Plus i PL / SQL Engine?
Ne, SQL * Plus nema ugrađen PL / SQL Engine. Dakle, sav PL / SQL kod šalje se izravno na mehanizam baze podataka. Puno je učinkovitiji jer se svaka izjava ne uklanja pojedinačno.
24) Koji su paketi dostupni programerima PL SQL-a?
DBMS_ serija paketa, kao što su DBMS_PIPE, DBMS_DDL, DBMS_LOCK, DBMS_ALERT, DBMS_OUTPUT, DBMS_JOB, DBMS_UTILITY, DBMS_SQL, DBMS_TRANSACTION, UTL_FILE.
25) Objasnite 3 osnovna dijela okidača.
- Izjava ili događaj koji pokreće.
- Ograničenje
- U Akciji
26) Što su funkcije znakova?
INITCAP, GORNJI, SUBSTR, LOWER i LENGTH sve su funkcije znakova. Funkcije grupe daju rezultate na temelju skupina redaka, za razliku od pojedinačnih redaka. Oni su MAX, MIN, AVG, COUNT i SUM.
27) Objasnite NASLOV i NASLOV.
Naredbe TTITLE i BTITLE koje kontroliraju zaglavlja i podnožja izvješća.
28) Prikažite atribute kursora za PL / SQL.
% ISOPEN: Provjerava je li kursor otvoren ili ne
% ROWCOUNT: Broj redaka koji se ažuriraju, brišu ili dohvaćaju.
% FOUND: Provjerava je li pokazivač dohvatio bilo koji redak. Istina je ako se dohvaćaju retci
% NIJE PRONAĐENO: Provjerava je li pokazivač dohvatio bilo koji redak. Istina je ako se retkovi ne dohvaćaju.
29) Što je presjek?
Intersect je proizvod dviju tablica i sadrži samo odgovarajuće retke.
30) Što su sekvence?
Nizovi se koriste za generiranje brojeva sekvenci bez dodatnih troškova zaključavanja. Njegov je nedostatak što se redni broj gubi ako se transakcija vrati.
31) Kako biste uputili na vrijednosti stupaca PRIJE I NAKON što ste umetnuli i izbrisali okidače?
Korištenjem ključne riječi "naziv novog stupca" okidači mogu referencirati vrijednosti stupaca prema novoj zbirci. Korištenjem ključne riječi "old.column name" mogu se pozivati na vrijednosti stupaca prema staroj zbirci.
32) Koja je upotreba ključnih riječi SYSDATE i USER?
SYSDATE odnosi se na trenutni sistemski datum poslužitelja. To je pseudo stupac. USER je također pseudo stupac, ali se odnosi na trenutnog korisnika prijavljenog u sesiju. Koriste se za praćenje promjena u tablici.
33) Kako ROWID pomaže u bržem izvođenju upita?
ROWID je logična adresa retka, nije fizički stupac. Sastoji se od broja podatkovnog bloka, broja datoteke i broja retka u podatkovnom bloku. Dakle, I / O vrijeme minimizira dohvaćanje retka i rezultira bržim upitom.
34) Za što se koriste veze do baze podataka?
Poveznice do baze podataka kreiraju se kako bi se stvorila komunikacija između različitih baza podataka ili različitih okruženja poput testa, razvoja i proizvodnje. Poveznice baze podataka su samo za čitanje kako bi se pristupilo i ostalim informacijama.
35) Što čini dohvaćanje kursora?
Dohvaćanjem kursora čita se Rezultat Postavi red po red.
36) Što čini zatvaranje kursora?
Zatvaranjem kursora briše se privatno SQL područje, kao i uklanja alokacija memorije
37) Objasnite upotrebu kontrolne datoteke.
To je binarna datoteka. Bilježi strukturu baze podataka. Uključuje mjesta nekoliko datoteka dnevnika, imena i vremenske oznake. Mogu se pohraniti na različita mjesta kako bi pomogli u pronalaženju podataka ako se jedna datoteka ošteti.
38) Objasnite dosljednost
Dosljednost pokazuje da se podaci neće odražavati na druge korisnike dok se podaci ne predaju, tako da se održava dosljednost.
39) Razlikuju se između anonimnih blokova i potprograma.
Anonimni blokovi su neimenovani blokovi koji se nigdje ne pohranjuju dok se potprogrami sastavljaju i pohranjuju u bazu podataka. Sastavljaju se tijekom izvođenja.
40) Razlikuju se između DECODE i CASE.
Izjave DECODE i CASE vrlo su slične, ali CASE je proširena verzija DECODE. DECODE ne dopušta donošenje odluka umjesto nje.
odaberite decode (totalals = 12000, 'high', 10000, 'medium') kao decode_tesr iz smp gdje smpno u (10,12,14,16);
Ova izjava vraća pogrešku.
CASE se izravno koristi u PL SQL-u, ali DECODE se koristi samo u PL SQL-u kroz SQL.
41) Objasnite autonomnu transakciju.
Autonomna transakcija je neovisna transakcija glavne ili nadređene transakcije. Nije ugniježđeno ako ga pokreće druga transakcija.
Postoji nekoliko situacija za korištenje autonomnih transakcija poput bilježenja događaja i revizije.
42) Razlikovati između SGA i PGA.
SGA je kratica za Globalno područje sustava, dok PGA znači Programsko ili procesno globalno područje. PGA je dodijeljeno samo 10% RAM-a, ali SGA daje 40% RAM-a.
43) Na kojem se mjestu nalaze unaprijed definirane_funkcije.
Pohranjeni su u standardni paket pod nazivom "Funkcije, postupci i paketi"
44) Objasnite polimorfizam u PL SQL-u.
Polimorfizam je značajka OOP-a. To je sposobnost stvaranja varijable, objekta ili funkcije s više oblika. PL / SQL podržava polimorfizam u obliku preopterećenja programske jedinice unutar funkcije člana ili paketa ... Tijekom preopterećenja mora se izbjegavati jednoznačna logika.
45) Koje su koristi MERGE-a?
MERGE se koristi za kombiniranje više DML izraza u jedan.
Sintaksa: spajanje u naziv tablice
pomoću (upit)
uključeno (uvjet pridruživanja)
kad se tada ne podudara
naredba [umetni / ažuriraj / izbriši]
kad se onda podudara
naredba [umetni / ažuriraj / izbriši]
46) Mogu li se istovremeno izvršiti 2 upita u sustavu distribuiranih baza podataka?
Da, mogu se izvršavati istovremeno. Jedan je upit uvijek neovisan o drugom upitu u distribuiranom sustavu baza podataka na temelju dvofaznog predavanja.
47) Objasnite grešku Raise_application__.
To je postupak paketa DBMS_STANDARD koji omogućava izdavanje user_defined poruka pogreške iz okidača baze podataka ili spremljenog potprograma.
48) Koji se parametar out koristi za čak i da se naredba return može koristiti i u pl / sql?
Parametri izlaza omogućuju više od jedne vrijednosti u pozivom programu. Parametar out se ne preporučuje u funkcijama. Postupci se mogu koristiti umjesto funkcija ako je potrebno više vrijednosti. Dakle, ovi se postupci koriste za izvršavanje izlaznih parametara.
49) Kako biste pretvorili datum u julijanski format datuma?
Možemo koristiti niz formata J:
SQL> odaberite to_char (to_date ('29 -Mar-2013 ',' dd-mon-yyyy '),' J ') kao julian iz dual;
JULIJAN
50) Objasni SPOOL
Naredba Spool može ispisati izlaz sql izraza u datoteku.
spool / tmp / sql_outtxt
odaberite smp_name, smp_id iz smp gdje je dept = 'računi';
odmotati kalem;
51) Spomenite od čega se sastoji paket PL / SQL?
PL / SQL paket sastoji se od
- PL / SQL tablica i zapis TYPE izraza
- Postupci i funkcije
- Pokazivači
- Varijable (tablice, skalari, zapisi itd.) I konstante
- Imena izuzetaka i pragme za povezivanje broja pogreške s iznimkom
- Pokazivači
52) Spomenite koje su prednosti PL / SQL paketa?
Pruža nekoliko pogodnosti poput
- Prisilno skrivanje informacija: Nudi slobodu izbora hoće li podatke čuvati privatnim ili javnim
- Dizajn od vrha prema dolje: Možete dizajnirati sučelje koda skrivenog u paketu prije nego što ste zapravo implementirali same module
- Trajnost objekta: Objekti deklarirani u specifikaciji paketa ponašaju se kao globalni podaci za sve PL / SQL objekte u aplikaciji. Možete izmijeniti paket u jednom modulu, a zatim uputiti te promjene na drugi modul
- Objektno orijentirani dizajn: Paket programerima daje snažnu kontrolu nad načinima na koji se moduli i podatkovne strukture unutar paketa mogu koristiti
- Jamčenje integriteta transakcije: Pruža razinu integriteta transakcije
- Poboljšanje performansi: RDBMS automatski prati valjanost svih programskih objekata pohranjenih u bazi podataka i poboljšava izvedbu paketa.
53) Spomenite koje su različite metode za traženje PL / SQL koda?
Kôd za praćenje ključna je tehnika za mjerenje performansi koda tijekom izvođenja. Različite metode za traženje uključuju
- DBMS_APPLICATION_INFO
- DBMS_TRACE
- DBMS_SESSION i DBMS_MONITOR
- trcsess i tkproof komunalne usluge
54) Spomenite što radi hijerarhijski profiler?
Hijerarhijski profiler mogao bi profilirati pozive upućene u PL / SQL, osim popunjavanja praznine između rupa i očekivanja praćenja performansi. Učinkovitost hijerarhijskog profila uključuje
- Izrazito izvještavanje o potrošnji vremena za SQL i PL / SQL
- Izvješća broje različite pozive potprograma upućene u PL / SQL i vrijeme provedeno sa svakim pozivom potprograma
- Višestruka interaktivna analitička izvješća u HTML formatu pomoću uslužnog programa naredbenog retka
- Učinkovitiji od konvencionalnih programa za profiliranje i drugih programa za praćenje
55) Spomenite što vam omogućuje PLV poruka?
PLV poruka omogućuje vam
- Dodijelite pojedinačnu tekstualnu poruku navedenom retku u PL / SQL tablici
- Dohvaća tekst poruke po broju
- Automatski zamjenjuje vaše vlastite poruke za standardne poruke o pogreškama Oracle s restriktivnim prebacivanjem
- Brojevi poruka serijskog učitavanja i tekst iz tablice baze podataka izravno PLV poruka PL / SQL tablica
56) Spomenite što nudi paket PLV (PL / Vision)?
- Vrijednost zamjene za nulu
- Skup rutina tvrdnji
- Razne komunalije
- Skup konstanti korištenih kroz PL viziju
- Unaprijed definirani tipovi podataka
- 57) Spomenite koja je upotreba PLVprs i PLVprsps?
- PLVprs: Proširenje je za raščlanjivanje niza za PL / SQL i najniža je razina funkcionalnosti raščlanjivanja niza
- PLVprsps: To je paket najviše razine za raščlanjivanje PL / SQL izvornog koda u zasebne atome. Da bi se posao obavio, oslanja se na druge analize.
58) Objasnite kako unaprijed možete kopirati datoteku u sadržaj datoteke i datoteku u PL / SQL tablicu PL / SQL?
Jednim pozivom programa - " postupak kopiranja", možete kopirati cjelokupni sadržaj jedne datoteke u drugu datoteku. Iako za kopiranje sadržaja datoteke izravno u PL / SQL tablicu, možete koristiti program " file2pstab" .
59) Objasnite kako se postupanje s iznimkama vrši unaprijed PL / SQL?
Za rukovanje iznimkama PL / SQl nudi učinkovit dodatak PLVexc. PLVexc podržava četiri različite radnje obrade iznimki.
- Nastavite s obradom
- Snimite, a zatim nastavite
- Zaustavljanje obrade
- Snimite, a zatim zaustavite obradu
Za one iznimke koje se ponovno pojave možete koristiti izraz RAISE.
60) Spomenite s kojim se problemom može suočiti tijekom upisivanja podataka dnevnika u tablicu baze podataka u PL / SQL?
Dok zapisujete podatke dnevnika u tablicu baze podataka, problem s kojim se suočavate je taj što su podaci dostupni samo kada su novi redovi predani u bazu podataka. To bi mogao predstavljati problem jer se takav PLVlog obično postavlja za praćenje pogrešaka, a u mnogim takvim slučajevima trenutna transakcija ne bi uspjela ili bi na drugi način trebao biti vraćen.
61) Spomenite koja je funkcija koja se koristi za prijenos dnevnika PL / SQL tablice u tablicu baze podataka?
Za prijenos PL / SQL dnevnika tablice koristi se funkcija tablice dnevnika baze podataka "PROCEDURE ps2db" .
62) Kada trebate koristiti zadanu točku spremanja na "PLVlog"?
Zadana točka spremanja "vraćanja na" PLVloga koristi se kada su korisnici uključili aktivnost vraćanja i nisu dali alternativnu točku spremanja u pozivu put_line. Zadana točka spremanja inicijalizira se u konstantu c none.
63) Zašto se PLVtab smatra najjednostavnijim načinom pristupa PL / SQL tablici?
PL / SQL tablica najbliža je nizovima u PL / SQL-u, a da biste pristupili ovoj tablici prvo morate deklarirati vrstu tablice, a zatim morate deklarirati samu PL / SQL tablicu. Ali upotrebom PLVtab-a možete izbjeći definiranje vlastitog tipa tablice PL / SQL i olakšati pristup PL / SQL podatkovnoj tablici.
64) Spomenite što vam omogućuje PLVtab kada prikazujete sadržaj PL / SQL tablica?
PLVtab omogućuje vam sljedeće radnje kada prikazujete sadržaj PL / SQL tablica
- Prikažite ili potisnite zaglavlje tablice
- Prikažite ili potisnite brojeve redaka za vrijednosti tablice
- Prikažite prefiks prije svakog retka tablice
65) Objasnite kako možete spremiti ili smjestiti svoju poruku u tablicu?
Da biste spremili poruku u tablicu, to možete učiniti na dva načina
- Učitajte pojedinačne poruke pozivima na postupak add_text
- Učitajte skupove poruka iz tablice baze podataka postupkom load_from_dbms
66) Spomenite koja je upotreba funkcije "postupak modula" u PL / SQL-u?
"Postupak modula" omogućuje pretvaranje svih redaka koda u određenu programsku jedinicu jednim pozivom procedure. Tri su argumenta za module
- module_in
- kor_in
- Last_module_in
67) Spomenite što PLVcmt i PLVrb rade u PL / SQL-u?
PL / Vision nudi dva paketa koja vam pomažu u upravljanju obradom transakcija u PL / SQL aplikaciji. To je PLVcmt i PLVrb.
- PLVcmt: PLVcmt paket objedinjuje logiku i složenost za bavljenje obradom urezivanja
- PLVrb: Pruža programsko sučelje za vraćanje aktivnosti u PL / SQL