Sunteți pe pagina 1din 2

Laborator PL/SQL.

Declanşatori. Subprograme.

A
Creati o noua tabela, SPION, cu o coloana numerica (pentru care definiti o secventa) si o
coloana text.
Creati diversi declansatori pentru cele patru posibilitati urmatoare: Declansator inainte
nivel comanda, declansator inainte nivel linie, declansator dupa nivel comanda, declansator
dupa nivel linie; ei vor inregistra in tabela SPION numarul urmator generat de secventa,
precum si textul potrivit situatiei: " inainte nivel comanda ", " inainte nivel linie ", " dupa
nivel comanda ", " dupa nivel linie ".
Creati un script cu instrutiuni LMD care prodvoaca declansarea acestor declansatori si, in
acelasi timp, inregistrati in tabela SPION.
Analizati continutul tabelei SPION.

B
Creati un declansator care semnaleaza momentul cand se inregistreaza un comision pentru
un angajat care nu este "salesman".

C
Creaţi o procedură PL/SQL pentru calcularea şi afişarea sumei salariilor la un departament,
al cărui nume este citit de la tastatură. Lansaţi procedura sub SQLPlus.

D
Creaţi un bloc PL/SQL pentru afişarea sumei salariilor la un departament, al cărui nume
este citit de la tastatură. Utilizaţi pentru acest calcul, o funcţie definită local, la nivelul
blocului.

E
Creaţi un bloc PL/SQL pentru afişarea celui mai mic salariu mediu înre două departamente
ale căror nume sunt citite de la tastatură. Utilizaţi pentru calculul salariului mediu o funcţie
definită local, la nivelul blocului.

F
Repetaţi problema precedentă, utilizând in loc de funcţie, o procedură care transmite
rezultatul printr-un parametru de ieşire.

G
Craţi un bloc PL/SQL pentru afişarea angajaţilor cu salariul superior salariului mediu din
departamentul lor. Utilizaţi pentru calculul salariului mediu o funcţie definită local, la
nivelul blocului.

H
Repetaţi problema precedentă, utilizând in loc de funcţie, o procedură care transmite
rezultatul printr-un parametru de ieşire.
I
Creaţi o funcţie PL/SQL pentru calculul salariului mediu a tuturor angajaţilor şi apoi, cu o
comandă SQL, afişaţi toţi angajaţii care au salariul mai mic decât media.

J
Creaţi un pachet pentru gestiunea angajaţilor, cu următoarele posibilităţi:
- o funcţie care controlează existenţa unui angajat în tabela emp, plecând de la codul lui
- o procedură de eliminare a unui angajat
- o procedură cu doi parametri care măreşte salariul unui angajat (prevedeţi o excepţie
pentru absenţa angajatului şi pentru valoarea 0 a sumei cu care se măreşte salariul; în acest
caz, angajatul va primi salariul mediu).
Creaţi un script pentru validarea acestor subprograme.