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