3.5.
Kurzor, explicit kurzor, for update záradék
-- Példák kurzor
használatára: plsql_kurzor.sql (Nikovits
Tibor)
-- PL/SQL Language Reference
11gR2 >> 6.fej.
Static SQL/Cursors
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:
- Az Oracle dokumentációban
szereplő példák
kipróbálásához:
>>
Lekérdezésekhez: createHRsyn
>>
Módosításhoz: createHRtables
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.
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 PL/SQL
FELADATOK-2 --
Táblák
és
az eddigi sql feladatok: table_dolgozo.txt
-- Ehhez a táblák
létrehozása: create_dolgozo.txt
-- Az előző heti PL/SQL FELADATOK-1 folytatása
(aki azt még nem fejezte be, előbb
azokat
írja
meg
és utána ezeket).
5.) Írjuk ki a dolgozók nevét
és fizetését!
(több sort
visszaadó
lekérdezés, kurzor
használata)
6.) Írjuk ki a 3. 5. és 8. legnagyobb
fizetésű dolgozó nevét,
fizetését!
(kurzor attribútumok)
7.) Módosítsuk a dolgozók
nevét
írjuk át olyan formára, hogy
a kezdőbetű nagybetű legyen a
többi betű pedig kicsi és
a fizetését is
növeljük meg 2 %-kal.
(mind a 3-féle
kurzorhasználattal nézzük meg a
működését,
implicit kurzorral, explicit kurzorral
és rejtett kurzorral is!)
8.) Írjuk ki azon dolgozók nevét
és fizetését, akik fizetése
nagyobb mint
a felhasználó
által
megadott szám (a sz
9.) Írjuk ki azon dolgozók nevét,
fizetését és
osztálykódját, akik a
felhasználó
által megadott
osztályon dolgoznak! A felhasználó
által
megadott betű
legyen A, R, S (Accounting
...) a 10, 20,
30-as
osztály esetén.
(paraméteres kurzor)