PDF letöltése
1) Mi az a PL SQL?
A PL SQL egy eljárási nyelv, amely interaktív SQL-t tartalmaz, valamint az eljárási programozási nyelv olyan konstrukciói, mint a feltételes elágazás és az iteráció.
2) Differenciáljon% ROWTYPE és TYPE RECORD között.
A% ROWTYPE akkor használható, ha egy lekérdezés egy táblázat vagy nézet teljes sorát adja vissza.
A TYPE RECORD viszont akkor használatos, amikor egy lekérdezés különböző táblákból vagy nézetekből álló oszlopot ad vissza.
Például. TYPE r_emp RECORD (sno smp.smpno% type, sname smp sname% type)
e_rec smp% ROWTYPE
A c1 kurzor az smpno kiválasztása, az smp részlege;
e_rec c1% ROWTYPE
3) Magyarázza el a kurzor használatát.
A kurzor egy megnevezett privát terület az SQL-ben, ahonnan az információk hozzáférhetők. Minden sort külön-külön kell feldolgozniuk olyan lekérdezésekhez, amelyek több sort adnak vissza.
4) A hurok kurzorának kódja.
A kurzor implicit módon deklarálja a% ROWTYPE ciklusindexként. Ezután megnyit egy kurzort, értéksorokat kap az aktív halmazból a rekord mezõiben, és kikapcsol, amikor az összes rekord feldolgozásra kerül.
Például. Az smp_rec-hez a C1 LOOP-ban
totalsal = totalsal + smp_recsal;
VÉGE;
5) Magyarázza el az adatbázis-trigger használatát.
Egy adott adatbázis-táblához társított PL / SQL programegységet adatbázis-triggernek nevezzük. A következőkre használják:
1) Audit adatok módosítása.
2) Naplózza az eseményeket átláthatóan.
3) Bonyolult üzleti szabályok betartatása.
4) Tartsa fenn a replikatáblákat
5) Vezesse le az oszlopértékeket
6) Komplex biztonsági engedélyek végrehajtása
6) Mi a kétféle kivétel.
A PL / SQL blokk egy részének hibakezelését kivételnek nevezzük. Két típusuk van: user_defined és predefined.
7) Mutasson előre definiált kivételeket.
DUP_VAL_ON_INDEX
ZERO_DIVIDE
NEM TALÁLHATÓ ADAT
TOO_MANY_ROWS
CURSOR_ALREADY_OPEN
ÉRVÉNYTELEN SZÁM
INVALID_CURSOR
PROGRAM_ERROR
TIMEOUT _ON_RESOURCE
STORAGE_ERROR
LOGON_DENIED
VALUE_ERROR
stb.
8) Magyarázza el a Raise_application_error nevet.
Ez a DBMS_STANDARD csomag eljárása, amely lehetővé teszi a felhasználó által definiált hibaüzenetek kiadását az adatbázis-triggerből vagy a tárolt alprogramból.
9) Mutassa meg, hogyan hívják meg a függvényeket és eljárásokat egy PL SQL blokkban.
A függvényt egy kifejezés részeként hívják meg.
összesen: = kiszámítás_szal ('b644')
Az eljárást utasításként hívják meg a PL / SQL-ben.
kiszámítja a bónuszt ('b644');
10) Magyarázzon el két virtuális táblázatot, amelyek az adatbázis-kiváltás végrehajtásakor állnak rendelkezésre.
A táblázat oszlopait THEN.column_name és NOW.column_ névként említjük.
INSERT kapcsolódó triggerek esetén a NOW.column_name értékek csak elérhetőek.
A DELETE kapcsolódó triggereknél a THEN.column_name értékek csak elérhetőek.
A UPDATE kapcsolódó eseményindítókhoz mindkét táblázat oszlop elérhető.
11) Milyen szabályokat kell alkalmazni a NULL-ekre az összehasonlítás során?
1) A NULL soha nem IGAZ vagy HAMIS
2) A NULL nem lehet egyenlő vagy egyenlőtlen más értékekkel
3) Ha egy kifejezés értéke NULL, akkor maga a kifejezés NULL értékűnek számít, kivéve az összefűzés operátort (||)
12) Hogyan állítják össze a PL SQL folyamatát?
A fordítási folyamat magában foglalja a szintaxis ellenőrzését, a kötést és a p-kód generálási folyamatokat.
A szintaxisellenőrzés ellenőrzi a PL SQL kódokat fordítási hibák után. Amikor minden hibát kijavítottak, egy adattároló változóhoz tárolási címet rendelünk. Kötésnek hívják. A P-kód a PL SQL motor utasításainak listája. A P-kódot az elnevezett blokkok adatbázisában tárolják, és a következő végrehajtáskor használják.
13) Különbség a szintaxis és a futásidejű hibák között.
Szintaktikai hibát a PL / SQL fordító könnyen felismerhet. Például helytelen helyesírás.
Egy futásidejű hibát egy kivételkezelő szakasz segítségével kezelünk egy PL / SQL blokkban. Például a SELECT INTO utasítás, amely nem ad vissza sorokat.
14) Magyarázza el a Commit, a Rollback és a Savepoint elemeket.
COMMIT utasításra a következő igaz:
- Más felhasználók láthatják a tranzakció által végrehajtott adatváltozásokat.
- A tranzakcióval megszerzett zárakat felszabadítják.
- A tranzakció által végzett munka állandóvá válik.
A ROLLBACK utasítás kiadásra kerül, amikor a tranzakció véget ér, és a következő igaz.
- Az átmenetben végzett munkát úgy vonják vissza, mintha soha nem adták volna ki.
- Minden tranzakcióval megszerzett zár feloldásra kerül.
Visszavonja a felhasználó által a tranzakció során végzett összes munkát. A SAVEPOINT használatával a tranzakciók csak egy részét lehet visszavonni.
15) Definiálja az implicit és explicit kurzorokat.
A kurzor alapértelmezés szerint implicit. A felhasználó nem tudja irányítani vagy feldolgozni a kurzor információit.
Ha egy lekérdezés több adatsort ad vissza, akkor a program explicit kurzort határoz meg. Ez lehetővé teszi az alkalmazás számára, hogy az egyes sorokat egymás után dolgozza fel, amint a kurzor visszaadja őket.
16) Magyarázza el a mutációs táblázat hibáját!
Akkor fordul elő, amikor egy ravaszt megpróbál frissíteni egy sort, amelyet éppen használ. Nézetek vagy ideiglenes táblák segítségével javítják, így az adatbázis kiválasztja az egyiket, és frissíti a másikat.
17) Mikor kell bevallási nyilatkozat?
A DECLARE utasítást a PL SQL névtelen blokkok használják, például önálló, nem tárolt eljárásokkal. Ha használják, akkor önálló fájlban elsőnek kell lennie.
18) Hány kiváltó tényező alkalmazható egy táblára?
Egy táblára legfeljebb 12 triggeret lehet alkalmazni.
19) Mi az SQLCODE és az SQLERRM jelentősége?
Az SQLCODE a legutóbbi hiba hibájának számát adja vissza, míg az SQLERRM az utolsó hiba üzenetét adja vissza.
20) Ha nyitott kurzor van, hogyan találhatunk meg egy PL SQL blokkot?
a% ISOPEN kurzor állapot változó használható.
21) Mutassa meg a két PL / SQL kurzor kivételt.
Kurzor_Már_Open
Invaid_cursor
22) Milyen szolgáltatók foglalkoznak a NULL-szel?
Az NVL átalakítja a NULL értéket egy másik megadott értékre.
var: = NVL (var2, 'Hi');
A NULL és a NULL értékekkel külön ellenőrizhető, hogy egy változó értéke NULL-e vagy sem.
23) Van-e az SQL * Plus-nak PL / SQL Engine-je is?
Nem, az SQL * Plus nem tartalmaz PL / SQL Engine-t. Így az összes PL / SQL kód közvetlenül az adatbázis-motorhoz kerül. Sokkal hatékonyabb, mivel az egyes állításokat nem külön-külön vetik le.
24) Milyen csomagok állnak rendelkezésre a PL SQL fejlesztők számára?
DBMS_ csomagcsomagok, például: DBMS_PIPE, DBMS_DDL, DBMS_LOCK, DBMS_ALERT, DBMS_OUTPUT, DBMS_JOB, DBMS_UTILITY, DBMS_SQL, DBMS_TRANSACTION, UTL_FILE.
25) Magyarázza el a ravasz 3 alapvető részét!
- Kiváltó utasítás vagy esemény.
- Korlátozás
- Egy bevetés
26) Mik a karakterfüggvények?
Az INITCAP, az UPPER, az SUBSTR, a LOWER és a LENGTH mind karakterfüggvény. A csoportfüggvények sorcsoportok alapján adnak eredményeket, szemben az egyes sorokkal. MAX, MIN, AVG, COUNT és SUM.
27) Magyarázza el a TTITLE és a BTITLE szavakat!
A jelentés fejlécét és láblécét vezérlő TTITLE és BTITLE parancsok.
28) Mutassa meg a PL / SQL kurzorattribútumait.
% ISOPEN: Ellenőrzi, hogy a kurzor nyitva van-e vagy sem
% ROWCOUNT: A frissített, törölt vagy beolvasott sorok száma.
% FOUND: Ellenőrzi, hogy a kurzor beolvasta-e valamelyik sort. Igaz, ha sorokat kapnak le
% NOT FOUND: Ellenőrzi, hogy a kurzor beolvasta-e valamelyik sort. Igaz, ha a sorok nincsenek beolvasva.
29) Mi az a kereszteződés?
Az Intersect két tábla szorzata, és csak az egymásnak megfelelő sorokat sorolja fel.
30) Mik a szekvenciák?
A szekvenciákat sorozatszámok előállítására használják a zárolás nélkül. Hátránya, hogy a sorszám elvész, ha a tranzakciót visszagörgetik.
31) Hogyan viszonyítaná az oszlopértékeket a triggerek beszúrása és törlése elõtt?
Az "new.column name" kulcsszó használatával az eseményindítók az oszlop értékeit új gyűjtemény szerint hivatkozhatják. A "régi.oszlopnév" kulcsszó használatával az oszlopváltozatokat régi gyűjtemény szerint hivatkozhatják.
32) Mire használják a SYSDATE és a USER kulcsszavakat?
A SYSDATE az aktuális kiszolgáló rendszer dátumára utal. Ez egy áloszlop. A USER szintén áloszlop, de a munkamenetbe bejelentkezett jelenlegi felhasználóra vonatkozik. Ezeket a táblázatban bekövetkező változások figyelésére használják.
33) Hogyan segít a ROWID a lekérdezés gyorsabb futtatásában?
A ROWID egy sor logikai címe, nem fizikai oszlop. Összeállítja az adatblokk számát, fájlszámát és az adatblokk sorszámát. Így az I / O idő minimalizálja a sor lekérését, és gyorsabb lekérdezést eredményez.
34) Mire használják az adatbázis-linkeket?
Az adatbázis-kapcsolatok azért jönnek létre, hogy kommunikációt alakítsanak ki a különböző adatbázisok vagy különböző környezetek, például teszt, fejlesztés és gyártás között. Az adatbázis-linkek csak olvashatóak, hogy más információkhoz is hozzáférjenek.
35) Mit csinál a kurzor lekérése?
A kurzor beolvasása az Eredmény beállítása soronként olvasható.
36) Mit csinál a kurzor bezárása?
A kurzor bezárása törli a privát SQL területet, valamint megszünteti a memória lefoglalását
37) Magyarázza el a Control File használatát.
Ez egy bináris fájl. Rögzíti az adatbázis felépítését. Több naplófájl, név és időbélyeg helyét tartalmazza. Különböző helyeken tárolhatók, hogy elősegítsék az információk visszakeresését, ha egy fájl megsérül.
38) Magyarázza el a következetességet
A következetesség azt mutatja, hogy az adatok csak akkor jelennek meg a többi felhasználó számára, ha az adatokat elkötelezték, így a konzisztencia megmarad.
39) Különbség az anonim blokkok és az alprogramok között.
Az anonim blokkok meg nem nevezett blokkok, amelyeket nem tárolnak sehol, míg az alprogramokat lefordítják és adatbázisban tárolják. Futás közben állítják össze.
40) Különbség a DECODE és a CASE között.
A DECODE és a CASE utasítások nagyon hasonlóak, de a CASE a DECODE kiterjesztett változata. A DECODE nem engedélyezi a döntéshozatali nyilatkozatok helyett.
válassza ki a dekódolást (totalsal = 12000, 'high', 10000, 'medium') dekódolás_tesr-ként az smp-ből, ahol az smpno a (10,12,14,16);
Ez az utasítás hibát ad vissza.
A CASE-t közvetlenül használják a PL SQL-ben, de a DECODE-t csak az SQL-en keresztül használják a PL SQL-ben.
41) Magyarázza el az autonóm tranzakciót.
Az autonóm ügylet a fő vagy az anyaügylet független ügylete. Nem ágyazódik be, ha egy másik tranzakció indítja el.
Számos helyzet létezik autonóm tranzakciók használatára, például eseménynaplózás és naplózás.
42) Különbség az SGA és a PGA között.
Az SGA a Rendszer globális területe, míg a PGA a Program vagy Folyamat globális területe. A PGA-nak csak 10% RAM-ot osztanak ki, de az SGA-nak 40% -ot.
43) Mi az Pre_defined_functions helye?
Ezeket a "Funkciók, eljárások és csomagok" elnevezésű szabványos csomagban tárolják
44) Magyarázza el a polimorfizmust a PL SQL-ben.
A polimorfizmus az OOP egyik jellemzője. Ez egy változó, egy objektum vagy függvény létrehozásának képessége több formával. A PL / SQL támogatja a polimorfizmust a programegység túlterhelésének formájában egy tagfüggvény vagy csomag belsejében ... A túlterhelés közben el kell kerülni az egyértelmű logikát.
45) Melyek a MERGE alkalmazásai?
A MERGE segítségével több DML utasítás kombinálható egybe.
Szintaxis: egyesítés táblanévvé
a (lekérdezés) használatával
be (csatlakozási feltétel)
amikor akkor nem egyezik
[insert / update / delete] parancs
amikor akkor egyezik
[insert / update / delete] parancs
46) Futtatható-e egyszerre 2 lekérdezés egy elosztott adatbázis-rendszerben?
Igen, egyszerre hajthatók végre. Az egyik lekérdezés mindig független az elosztott adatbázis-rendszer második lekérdezésétől a 2 fázisú lekötés alapján.
47) Magyarázza meg a Raise_application_error nevet.
Ez a DBMS_STANDARD csomag olyan eljárása, amely lehetővé teszi a felhasználó által definiált hibaüzenetek kiadását az adatbázis-triggerből vagy a tárolt alprogramból.
48) Mi az out paraméter, amihez az eventhough visszatérési utasítás szolgál, pl / sql-ben is használható?
Az Out paraméterek egynél több értéket engednek meg a hívó programban. Az Out paraméter nem ajánlott a függvényekben. Eljárások használhatók funkciók helyett, ha több értékre van szükség. Így ezeket az eljárásokat használják az Out paraméterek végrehajtására.
49) Hogyan konvertálná a dátumot Julián dátumformátumra?
Használhatjuk a J formátumú karakterláncot:
SQL> to_char (to_date ('29 -Mar-2013 ',' dd-mon-yyyy '),' J ') kiválasztása juliannak kettősből;
JÚLIÁN
50) Magyarázza el a SPOOL-t
A Spool parancs kinyomtatja az sql utasítások kimenetét egy fájlban.
spool / tmp / sql_outtxt
válassza ki az smp_nevet, smp_id az smp-ből, ahol dept = 'számlák';
orsó le;
51) Említse meg, miből áll a PL / SQL csomag?
A PL / SQL csomag a következőkből áll:
- PL / SQL táblázat és rögzítse a TYPE utasításokat
- Eljárások és funkciók
- Kurzorok
- Változók (táblák, skalárok, rekordok stb.) És konstansok
- Kivételek neve és pragma a hibaszám kivételhez való hozzárendeléséhez
- Kurzorok
52) Mondja meg, milyen előnyei vannak a PL / SQL csomagoknak?
Számos olyan előnyt nyújt, mint a
- Kényszerített információ-rejtés: Lehetőséget kínál arra, hogy kiválassza, az adatokat titokban vagy nyilvánosan tárolja-e
- Felülről lefelé történő tervezés: Megtervezheti a felületet a csomagban elrejtett kódhoz, mielőtt magukat a modulokat ténylegesen végrehajtaná
- Objektum perzisztencia: A csomagspecifikációban deklarált objektumok úgy viselkednek, mint az alkalmazás összes PL / SQL objektumának globális adatai. Módosíthatja a csomagot egy modulban, majd hivatkozhat egy másik modulra
- Objektumorientált tervezés: A csomag erősen visszatartja a fejlesztőket arról, hogy a csomagban lévő modulok és adatstruktúrák hogyan használhatók
- A tranzakció integritásának garantálása: Biztosítja a tranzakció integritásának egy szintjét
- Teljesítményjavítás: Az RDBMS automatikusan nyomon követi az adatbázisban tárolt összes programobjektum érvényességét, és javítja a csomagok teljesítményét.
53) Említse meg, milyen különböző módszerek vannak a PL / SQL kód nyomon követésére?
A kód nyomon követése kulcsfontosságú technika a futás közbeni kód teljesítményének mérésére. A nyomon követés különböző módszerei magukban foglalják
- DBMS_APPLICATION_INFO
- DBMS_TRACE
- DBMS_SESSION és DBMS_MONITOR
- trcsess és tkproof segédprogramok
54) Említse meg, mit csinál a hierarchikus profilozó?
A hierarchikus profilozó profilozhatja a PL / SQL-ben végrehajtott hívásokat, eltekintve a hézagok és a teljesítménykövetés elvárásai közötti réstől. A hierarchikus profilozó hatékonysága magában foglalja
- Külön jelentés SQL és PL / SQL időfelhasználásról
- A jelentések megszámolják a PL / SQL-ben végrehajtott külön alprogramhívásokat és az egyes alprogramhívásokkal töltött időt
- Több interaktív elemzési jelentés HTML formátumban a parancssori segédprogram használatával
- Hatékonyabb, mint a hagyományos profilozó és egyéb nyomkövető segédprogramok
55) Említse meg, mit tesz lehetővé a PLV üzenet?
A PLV üzenet lehetővé teszi
- Rendeljen egyedi szöveges üzenetet a PL / SQL táblázat megadott sorához
- Szám szerint kapja le az üzenet szövegét
- Automatikusan a saját üzeneteit helyettesíti a szabványos Oracle hibaüzenetekkel, korlátozás kapcsolóval
- Kötegelt betöltési üzenetek száma és szövege egy adatbázis táblából közvetlenül PLV msg PL / SQL táblázat
56) Említse meg, mit kínál a PLV (PL / Vision) csomag?
- Nulla helyettesítési érték
- Állítási rutinok halmaza
- Vegyes közművek
- A PL látás során használt állandók halmaza
- Előre definiált adattípusok
- 57) Említse meg, mi a PLVprs és PLVprsps használata?
- PLVprs: Ez a PL / SQL karakterlánc-elemzés kiterjesztése, és ez a karakterlánc-elemzési funkciók legalacsonyabb szintje
- PLVprsps: A legmagasabb szintű csomag a PL / SQL forráskód külön atomokká elemzése. A munka elvégzéséhez más elemző csomagokra támaszkodik.
58) Magyarázza el, hogyan másolhat egy fájlt fájl tartalmába, és fájlokat a PL / SQL táblába előre PL / SQL?
Egyetlen programhívással - " fcopy procedure" - másolhatja az egyik fájl teljes tartalmát egy másik fájlba. Míg a fájl tartalmát közvetlenül egy PL / SQL táblába másolja, használhatja a " file2pstab" programot .
59) Magyarázza el, hogyan történik a kivételkezelés előzetesen PL / SQL?
A PL / SQl kezelése kivételesen egy hatékony PLVexc plugint biztosít. A PLVexc négy különböző kivételkezelési műveletet támogat.
- Folytassa a feldolgozást
- Jegyezze fel, majd folytassa
- Feldolgozás leállítása
- Jegyezze fel, majd állítsa le a feldolgozást
Azoknál a kivételeknél, amelyek ismét előfordulnak, használhatja a RAISE utasítást.
60) Említse meg, milyen problémával lehet szembesülni, amikor a naplóinformációkat egy PL / SQL adatbázis-táblába írja?
A naplóinformációk adatbázistáblába történő írása közben azzal a problémával szembesül, hogy az információk csak akkor állnak rendelkezésre, ha az új sorok el vannak rendelve az adatbázishoz. Ez problémát jelenthet, mivel az ilyen PLVlog rendszerint a hibák nyomon követésére kerül telepítésre, és sok ilyen esetben az aktuális tranzakció kudarcot vallana, vagy más módon lenne szüksége visszagörgetésre.
61) Említse meg, mi az a funkció, amellyel a PL / SQL tábla naplóját át lehet vinni egy adatbázis táblába?
A PL / SQL táblázatnapló átviteléhez a "PROCEDURE ps2db" adatbázis- naplótáblázat- függvényt kell használni.
62) Amikor a PLVlog alapértelmezett "visszagörgetését" kell használnia?
A PLVlog alapértelmezett "visszagörgetése" mentési pontjára akkor kerül sor, ha a felhasználók bekapcsolják a visszagörgetési tevékenységet, és nem adtak meg alternatív mentési pontot a put_line hívásban. Az alapértelmezett mentési pontot inicializáljuk a c none konstansra.
63) Miért tartják a PLVtab-ot a PL / SQL táblázat elérésének legegyszerűbb módjának?
A PL / SQL tábla áll a legközelebb a PL / SQL tömbjeihez, és ehhez a táblához való hozzáféréshez először deklarálnia kell egy táblatípust, majd magát a PL / SQL táblát is. De a PLVtab használatával elkerülheti saját PL / SQL táblatípusának meghatározását, és megkönnyíti a PL / SQL adattáblához való hozzáférést.
64) Említse meg, mit tesz lehetővé a PLVtab, amikor bemutatja a PL / SQL táblák tartalmát?
A PLVtab lehetővé teszi a következő dolgok elvégzését, amikor a PL / SQL táblák tartalmát megjeleníti
- A táblázat fejlécének megjelenítése vagy elnyomása
- Jelenítse meg vagy szüntesse meg a táblázat értékeinek sorszámát
- Mutasson előtagot a táblázat minden sora előtt
65) Magyarázza el, hogyan mentheti el vagy helyezheti el az üzenetét egy táblázatba?
Az üzenetek mentéséhez egy táblázatba kétféleképpen teheti meg
- Töltsön be egyedi üzeneteket hívásokkal az add_text eljárásba
- Töltse be az üzenetkészleteket egy adatbázis táblából a load_from_dbms eljárással
66) Említse meg, hogy mi a PL-SQL "modul eljárás" funkciója?
A "modul eljárás" lehetővé teszi egy meghatározott programegység összes kódsorának átalakítását egyetlen eljáráshívással. Három érv szól a modulok mellett
- module_in
- cor_in
- Last_module_in
67) Említse meg, hogy a PLVcmt és a PLVrb mit csinál a PL / SQL-ben?
A PL / Vision két csomagot kínál, amelyek segítenek kezelni a tranzakciók feldolgozását a PL / SQL alkalmazásban. Ez PLVcmt és PLVrb.
- PLVcmt: A PLVcmt csomag átgondolja a logikát és az összetettséget a végleges feldolgozás kezeléséhez
- PLVrb: Programozott felületet biztosít a PL / SQL tevékenységek visszagörgetéséhez