10.gyak. PL/SQL-2 kurzorok használata
   
Előző 9.gyak                        Következő 11.gyak
    
-- III. témakör: Oracle PL/SQL 2.rész gépes gyakorlat
    (ez az előző heti Oracle PL/SQL alapok folytatása)
> 3.5. PL/SQL kurzor, explicit kurzor, for update záradék  
> PL/SQL FELADATOK-2.
   

SEGÉDANYAGOK: ZH-n is használható SQL, PL/SQL Ref.
A ZH-n a tűzfalon keresztül is elérhető és használható a dokumentáció:
http://medusa.inf.elte.hu/ tanszéki honlapon alul Oracle linken található
Online documentation for Oracle 11g R2 bal oldali menüből kiválasztva
a harmadik sorban  Database Administration és itt a harmadik dobozban:
SQL, PL/SQL, and PL/SQL Packages       
SQL Language Reference
SQL Language Quick Reference
PL/SQL Language Reference
PL/SQL Packages and Types Reference  
HTML   PDF
HTML   PDF
HTML   PDF
HTML   PDF   
     
További segédanyagok a PL/SQL-hez:
- Tankönyvtár: PL/SQL programozás Oracle 10g-ben (Gábor A.-Juhász I.)
- A könyvhöz: Debreceni Egyetem anyaga [forrás: Haladó DBMS ismeretek-1
- Cinkóczki László, Oracle Junior, 2012. márc.8-i ea: PL/SQL
- Nikovits Tibor (ELTE) PL/SQL összefoglaló: NT_Plsql.htm
- Ullman/Chang (Standford) Using Oracle PL/SQL
- Ullman/Chang (Standford) Constraints and Triggers
- PL/SQL Technology Center (Oracle 11g PL/SQL)
   

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
   
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
 

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)
        
Fel a lap tetejére                          Vissza az AB1gyak oldalára (főmenü)