Sunteți pe pagina 1din 1

RECAPITULARE SUBPROGRAME

1. Realizaţi o procedură afiseaza_angajati în care să declaraţi un cursor pentru a selecta


numele, funcţia şi data angajării salariaţilor din tabela Angajaţi. Parcurgeţi fiecare rând
al cursorului şi, în cazul în care data angajării depăşeşte 01-AUG-1999, afişaţi
informaţiile preluate. Apelaţi procedura.

2. Realizaţi o funcţie vechime_angajat (p_cod angajati.id_angajat%type) care să


returneze vechimea angajatului (calculată drept diferenţă între data actuală şi cea a
angajării) care are codul primit ca parametru. Trataţi excepţiile apărute. Apelaţi funcţia
dintr-un bloc PL/SQL şi utilizaţi un cursor pentru a parcurge toţi angajaţii.

3. Realizaţi o procedură vechime_angajat_proc (p_cod IN angajati.id_angajat %type,


p_vechime OUT number) care să calculeze vechimea angajatului care are codul primit
ca parametru. Trataţi excepţiile apărute. Apelaţi procedura dintr-un bloc PL/SQL şi
utilizaţi un cursor pentru a parcurge toţi angajaţii.

4. Realizaţi o procedură vechime_angajat_proc2 care să calculeze vechimea fiecărui


angajat (înregistrările se vor parcurge printr-un cursor). Trataţi excepţiile apărute.
Testaţi procedura.

5. Realizaţi o procedură prin care să se returneze data încheierii şi valoarea celei mai
recente comenzi: info_comanda_recenta (p_data OUT comenzi.data%type,
p_valoare OUT number)

6. Realizaţi trigger-ul cantitate_pozitiva care să nu permită în tabela Rând_comenzi valori


negative ale cantităţii care poate fi comandată.

7. Realizaţi un pachet de subprograme Actualizare_functii care să conţină:


a. O procedură Adauga_functie care să adauge o înregistrare nouă în
tabela Functii. Informaţiile ce trebuie adăugate sunt furnizate drept parametrii
procedurii. Se tratează cazul în care există deja o funcţie cu codul introdus.

b. O procedură Modifica_ functie care să modifice denumirea unei funcţii.


Codul funcţiei pentru care se face modificarea şi noua denumire a funcţiei sunt
parametrii procedurii. Se tratează cazul în care modificarea nu are loc din
cauza precizării unui cod care nu se regăseşte în tabelă.

c. O procedură Sterge_functie care să şteargă o funcţie pe baza codului


primit drept parametru. Se tratează cazul în care codul furnizat nu există.

S-ar putea să vă placă și