Sunteți pe pagina 1din 2

RECAPITULARE SUBPROGRAME

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


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

2. Realizaţi o funcţie vechime_agent (p_cod agenti.codagent%type) care să returneze


vechimea agentului (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 agenţii.

3. Realizaţi o procedură vechime_agent_proc (p_cod IN agenti.codagent%type,


p_vechime OUT number) care să calculeze vechimea agentului 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 agenţii.

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


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

5. Realizati o procedură verif_stoc (p_nr OUT number, p_suma OUT number) prin
care să calculaţi numărul de produse care au stocul mai mare decât stocul mediu şi
suma totală ce depaşeşte această medie.
a. declaraţi un cursor pentru a returna toate produsele;
b. declaraţi o excepţie definită de utilizator prin care să trataţi cazul în care există
produse cu stocul null;
c. în secţiunea executabilă realizaţi următoarele:
- afişaţi stocul mediu al produselor din tabela Produse;
- deschideţi cursorul şi parcurgeţi produsele, afişând diferenţa dintre
stocul fiecărui produs şi stocul mediu;
- calculaţi numărul de produse care au stocul mai mare decât stocul
mediu şi suma totală ce depaşeşte această medie.
- declanşaţi şi trataţi excepţia definită de utilizator (stoc null) precum şi
alte erori apărute.
Apelati procedura dintr-un bloc PL/SQL.

6. Realizaţi un trigger care să nu permită în tabela Produse valori negative ale stocului ce
poate fi depozitat.

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


a. O procedură Adauga_firma care să adauge o înregistrare nouă în tabela Firme.
Informaţiile ce trebuie adăugate sunt furnizate drept parametrii procedurii. Se
tratează cazul în care există deja o firmă cu codul introdus.
b. O procedură Modifica_firma care să modifice denumirea unei firme. Codul
firmei pentru care se face modificarea şi noua denumire a firmei 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_firma care să şteargă o firmă în funcţie de codul primit


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

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