Az adatbázis letölthető innen.
Készítsen tárolt eljárást ReszlegDolgozok néven, amely bemenő paraméterként
egy részleg nevét (department_name) és egy fizetéshatárt (salary) kap,
válaszként listázza az adott részleg határ felett kereső dolgozóinak vezetéknevét
(last_name), fizetését és beosztás-azonosítóját (job_id), a fizetés szerint
csökkenő sorrendben!
Hívja meg az eljárást a 'Sales' és 8000 értékkel! Írja be a felületre a lista
második legkisebb fizetéséhez tartozó vezetéknevet!
A megoldás hibás! A megoldás helyes!
Módosítsa az előző tárolt eljárást úgy, hogy a lista után a megfelelő dolgozók
létszámát is kiírja, Létszám: x fő. formában!
Hívja meg az eljárást a 'IT' és 3000 értékkel! Másolja be a felületre a lista
után megjelenő eredményt!
A megoldás hibás! A megoldás helyes!
Készítsen egy logikai értéket visszaadó tárolt függvényt JoFizetes néven, amely egy
dolgozó azonosítóját (employee_id) és egy új fizetést (salary) kap bemenő paraméterként,
majd ellenőrzi, hogy a dolgozó beosztásához (job_id) megfelel-e az új fizetés a min_salary
és max_salary mezők alapján!
Hívja meg a függvényt a SELECT JoFizetes(103, 11000) AS jo; paranccsal, és írja be a
felületre a kapott választ!
A megoldás hibás! A megoldás helyes!
Készítsen tárolt eljárást FizetesModosit néven, amely szintén egy dolgozó azonosítóját
(employee_id) és egy új fizetést (salary) kap bemenő paraméterként! Ha a dolgozónak lehet
ennyi a fizetése (ezt a JoFizetes függvénnyel ellenőrizheti), akkor végezze el a módosítást,
majd írja ki az eredményt a következő formában: Fizetés módosítva: XY – 75000 formában (XY helyett
a dolgozó vezetékneve álljon)! Ha nem kaphat ennyi fizetést a dolgozó, akkor írja ki a Nem
megfelelő fizetés! üzenetet!
Hívja meg az eljárást a 112 és 6900 értékekkel! Másolja be a felületre a megjelenő eredményt!
A megoldás hibás! A megoldás helyes!
Készítsen tárolt eljárást ReszlegLista néven, amely egy ország kódját kapja bemenőt adatként,
válaszként pedig név szerint rendezett listát készít azoknak a részlegeknek a nevéről (department_name)
és a telephely városnevéről (city),
amelyek az adott országban találhatók! A lista után jelenjen meg az Összesen: x részleg. felirat is
(x helyén a részlegek darabszámával)!
Hívja meg az eljárást US paraméterrel! Írja be az utolsó város nevét és a részlegek
darabszámát | karakterrel elválasztva (pl. Detroit|25)!
A megoldás hibás! A megoldás helyes!
Készítsen triggert (eseményindítót) FizetesValtozas néven, amely az employees
tábla update eseménye előtt fut le!
A trigger hívja meg a JoFizetes függvényt, és ha az hamis értéket ad vissza, akkor az új
fizetést állítsa be a módosítás előtti értékre!
Futtassa le az UPDATE employees SET salary = 3900 WHERE employee_id = 105; parancsot, majd
írja be a felületre a 105-ös azonosítójú dolgozó fizetésének értékét!
A megoldás hibás! A megoldás helyes!
Készítsen triggert (eseményindítót) UjBeosztas néven, amely a jobs tábla
insert eseménye
előtt fut le! A trigger vizsgálja meg, hogy az alsó fizetéshatár (min_salary) ne legyen kisebb, mint az
eddigi legkisebb alsó határ az összes beosztást figyelembe véve; ha kisebb lenne, akkor
állítsa be annyira, mint a legkisebb érték! Ezután a triggel ellenőrizze, hogy a felső
fizetéshatár (max_salary) legalább kétszer akkora-e, mint az alsó, és ha nem, akkor állítsa be az alsó
határ kétszeresére!
Futtassa le az INSERT INTO jobs VALUES('W_MAN', 'Waste Manager', 1500, 2800); parancsot,
majd írja be a felületre a beszúrt rekordból a max_salary értékét!
A megoldás hibás! A megoldás helyes!