-- -- -- -- -- Kiegészítés a 9.gyakorlathoz -- -- -- -- --
Gyakorló feladatok
az Oracle
Példatárból
-- Lásd
Feladatok.pdf (8.fejezet
feladatai)
-- Ehhez:
cr_dept_emp.sql
Változóhasználat, az
adatok képernyőre való
kiíratása
1a_valtozok.sql
- -- Oracle DBMS_OUTPUT
csomag PUT_LINE
eljárása
-- Változóhasználat: i.) az
SQL*Plus
felhasználói
változói,
ii.) az
SQL*Plus környezeti változói,
iii.) a
PL/SQL változói.
-- Írjunk egy PL/SQL blokkot
tartalmazó SQL*Plus
szkipt programot, amely
a
felhasználótól bekér egy
egész számot! Ha ez a szám nagyobb
100-nál,
akkor a PL/SQL blokkban,
egyébként pedig a PL/SQL blokkot követő
gazdanyelvi (SQL*Plus)
környezetben írassa ki
Gyakorló
feladatok
az Oracle
Példatárból
-- A programozási nyelvekből ismert
egyszerű
példák
1c_if_then.sql
-
Feltételes
utasítás (két
egész
szám összege páros-e)
1d_loop_ciklus.sql
-
LOOP ciklus (a
Fibonacci-sorozat elemei)
1e_while_ciklus.sql
-
WHILE
ciklus (az
Euklideszi
algoritmus)
1f_for_ciklus.sql
-
FOR ciklus (páratlan
számok
négyzetösszege)
További
gyakorló feladatok:
Lásd
Példatár
"8.fejezet.
Változóhasználat, vezérlési
szerkezetek a PL/SQL-ben" feladatai
-- -- -- -- -- Kiegészítés a 10.gyakorlathoz -- -- -- -- --
Itt érdemes
átnézni a
PL/SQL Language Reference példáit,
például
6.fejezet Static SQL/Cursors részben "FOR UPDATE"-re
keresve
"
Example
6-43"
példa hasonló, mint az alábbi
3a_kurzor.sql
feladat:
Gyakorló feladatok
az Oracle
Példatárból
-- Lásd
Feladatok.pdf (9.fejezet
feladatai)
-- Ehhez:
cr_dept_emp.sql
3a_kurzor.sql
-
Kurzor,
kurzorattribútumok (%FOUND,
%NOTFOUND)
- Növeljük meg a hivatalnokok
(CLERK)
fizetését a saját
fizetésük 20%-ával!
(
hibas_mo.sql
-> tanulságok leszűrése!)
3b_impl_kurzor.sql
-
Implicit kurzor, kurzorhasználat
FOR ciklusban
- Hozzuk
létre a dolgozo
táblát
az emp táblából, és
bővítsük
azt egy sorszám
oszloppal. Ezt
töltsük fel 1-től
kiindulva egyesével növekvő
értékkel minden
dolgozó esetén a
dolgozók nevének
ábécé sorrendje szerint.
3c_expl_kurzor.sql
-
Explicit
kurzor
- Előző 3b
feladat másik
megoldása
3d_current_of.sql
-
Explicit
kurzor, FOR UPDATE, CURRENT OF
- Előző 3b, 3c feladat harmadik
megoldása
További
gyakorló feladatok:
Lásd
Példatár
"9.fejezet.
Hivatkozási és összetett
adattípusok, kurzor,
ROWID" feladatai
-- -- -- -- -- Kiegészítés a 10.gyakorlathoz -- -- -- -- --
Gyakorló feladatok
az Oracle
Példatárból --
Ehhez:
cr_dept_emp.sql
Lásd
Példatár
"10.fejezet. Kivételkezelés, alprogramok,
triggerek"
feladatai
5a_kivetelkez.sql
-
Feladat kivételkezelésre
- Írjunk egy olyan
eljárást,
amely kivételkezelést is tartalmaz és
a jutalmat az
emp
táblából
létrehozott dolgozo tábla jutalék
(comm)
értékéhez adja
hozzá!
A jutalom a
dolgozó fizetésének 10%-a,
feltéve, ha a fizetés 3000
dollár
alatt van,
egyébként csak egy
"Boldog Karácsonyt!" üdvözletet
kap.