This shows you the differences between two versions of the page.
bdd:laboratoare:05 [2024/10/07 11:27] 127.0.0.1 external edit |
bdd:laboratoare:05 [2024/10/07 14:39] (current) ciprian.truica |
||
---|---|---|---|
Line 102: | Line 102: | ||
<color red>Ex. 1.</color> Exemplu de procedură declarată într-un bloc. | <color red>Ex. 1.</color> Exemplu de procedură declarată într-un bloc. | ||
- | {{:bdd:laboratoare:l05ex01.png?nolink&730|}} | + | {{:bd2:laboratoare:l05ex01.png?nolink&730|}} |
<color red>Ex. 2.</color> Să se scrie o procedură declarată în cadrul unui bloc care întoarce salariu maxim pentru un ID de departament și o funcție introduse de la tastatură. Salariu maxim să fie returnat folosindu-se o variabilă scalară. Să se traducă joburile în limba română, în cadrul procedurii. Aveți grijă la cum sunt repartizate job-urile în departamente. | <color red>Ex. 2.</color> Să se scrie o procedură declarată în cadrul unui bloc care întoarce salariu maxim pentru un ID de departament și o funcție introduse de la tastatură. Salariu maxim să fie returnat folosindu-se o variabilă scalară. Să se traducă joburile în limba română, în cadrul procedurii. Aveți grijă la cum sunt repartizate job-urile în departamente. | ||
- | {{:bdd:laboratoare:l05ex02.png?nolink&730|}} | + | {{:bd2:laboratoare:l05ex02.png?nolink&730|}} |
==== Proceduri stocate ==== | ==== Proceduri stocate ==== | ||
Line 139: | Line 139: | ||
<color red>Ex. 3.</color> Să se creeze o procedură stocată care calculează veniturile angajaților cu o vechime de peste 10 de ani în firmă, dintr-un anumit departament. | <color red>Ex. 3.</color> Să se creeze o procedură stocată care calculează veniturile angajaților cu o vechime de peste 10 de ani în firmă, dintr-un anumit departament. | ||
- | {{:bdd:laboratoare:l05ex03.png?nolink&730|}} | + | {{:bd2:laboratoare:l05ex03.png?nolink&730|}} |
<note> | <note> | ||
Line 163: | Line 163: | ||
* Vechimea >= 13 de ani primesc 22 zile de concediu | * Vechimea >= 13 de ani primesc 22 zile de concediu | ||
- | {{:bdd:laboratoare:l05ex04.png?nolink&730|}} | + | {{:bd2:laboratoare:l05ex04.png?nolink&730|}} |
<color red>Ex. 5.</color> Să se scrie un program PL/SQL cu o procedură care distribuie salariul șefului de departament la subalternii lui, în funcție de vechimea în companie, astfel: | <color red>Ex. 5.</color> Să se scrie un program PL/SQL cu o procedură care distribuie salariul șefului de departament la subalternii lui, în funcție de vechimea în companie, astfel: | ||
Line 171: | Line 171: | ||
Fondul de premiere se distribuie în mod egal la toți subalternii dintr-o grupă. | Fondul de premiere se distribuie în mod egal la toți subalternii dintr-o grupă. | ||
- | {{:bdd:laboratoare:l05ex05.png?nolink&730|}} | + | {{:bd2:laboratoare:l05ex05.png?nolink&730|}} |
==== Tipul Colecție ca parametri ==== | ==== Tipul Colecție ca parametri ==== | ||
Line 181: | Line 181: | ||
<color red>Ex. 6.</color> Să se creeze un vector fie la nivelul dicționarului de date, fie local. Într-un bloc, să se definească și inițializeze o variabilă de tipul nou creat și să se apeleze o procedură care afișează valorile elementelor. Să se șteargă tipul din dicționarul de date. | <color red>Ex. 6.</color> Să se creeze un vector fie la nivelul dicționarului de date, fie local. Într-un bloc, să se definească și inițializeze o variabilă de tipul nou creat și să se apeleze o procedură care afișează valorile elementelor. Să se șteargă tipul din dicționarul de date. | ||
- | {{:bdd:laboratoare:l05ex06a.png?nolink&730|}} | + | {{:bd2:laboratoare:l05ex06a.png?nolink&730|}} |
- | {{:bdd:laboratoare:l05ex06b.png?nolink&730|}} | + | {{:bd2:laboratoare:l05ex06b.png?nolink&730|}} |
- | {{:bdd:laboratoare:l05ex06c.png?nolink&730|}} | + | {{:bd2:laboratoare:l05ex06c.png?nolink&730|}} |
- | {{:bdd:laboratoare:l05ex06d.png?nolink&730|}} | + | {{:bd2:laboratoare:l05ex06d.png?nolink&730|}} |
- | {{:bdd:laboratoare:l05ex06e.png?nolink&730|}} | + | {{:bd2:laboratoare:l05ex06e.png?nolink&730|}} |
Line 196: | Line 196: | ||
<color red> Ex. 7. </color> Exemplu de cursor ca parametru. | <color red> Ex. 7. </color> Exemplu de cursor ca parametru. | ||
- | {{:bdd:laboratoare:l05ex07a.png?nolink&730|}} | + | {{:bd2:laboratoare:l05ex07a.png?nolink&730|}} |
- | {{:bdd:laboratoare:l05ex07b.png?nolink&730|}} | + | {{:bd2:laboratoare:l05ex07b.png?nolink&730|}} |
- | {{:bdd:laboratoare:l05ex07c.png?nolink&730|}} | + | {{:bd2:laboratoare:l05ex07c.png?nolink&730|}} |
Line 254: | Line 254: | ||
<color red>Ex. 8.</color>Să se scrie o funcție locală care primește ca parametru un identificator de departament și returnează numărul salariaților din departamentul respectiv. | <color red>Ex. 8.</color>Să se scrie o funcție locală care primește ca parametru un identificator de departament și returnează numărul salariaților din departamentul respectiv. | ||
- | {{:bdd:laboratoare:l05ex08.png?nolink&730|}} | + | {{:bd2:laboratoare:l05ex08.png?nolink&730|}} |
==== Funcții stocate ==== | ==== Funcții stocate ==== | ||
Line 301: | Line 301: | ||
Pentru stocarea punctelor acumulate de fiecare angajat, se va crea o tabelă temp_puncte care are următoarele coloane: idAng, nrPuncte, idDept. | Pentru stocarea punctelor acumulate de fiecare angajat, se va crea o tabelă temp_puncte care are următoarele coloane: idAng, nrPuncte, idDept. | ||
- | {{:bdd:laboratoare:l05ex09.png?nolink&730|}} | + | {{:bd2:laboratoare:l05ex09.png?nolink&730|}} |
<note> | <note> | ||
Line 382: | Line 382: | ||
Codul sursă al procedurilor și funcțiilor stocate se găsește în dicționarul bazei de date, în view-ul USER_SOURCE, care are următoarea structură: | Codul sursă al procedurilor și funcțiilor stocate se găsește în dicționarul bazei de date, în view-ul USER_SOURCE, care are următoarea structură: | ||
- | {{:bdd:laboratoare:l05s1.png?nolink&730|}} | + | {{:bd2:laboratoare:l05s1.png?nolink&730|}} |
Unde: | Unde: | ||
Line 396: | Line 396: | ||
</code> | </code> | ||
- | {{:bdd:laboratoare:l05s2.png?nolink&730|}} | + | {{:bd2:laboratoare:l05s2.png?nolink&730|}} |
Pentru a vizualiza toate procedurile, funcțiile și tipurile de date create de utilizatorul curent, se poate folosi următoarea cerere SQL: | Pentru a vizualiza toate procedurile, funcțiile și tipurile de date create de utilizatorul curent, se poate folosi următoarea cerere SQL: | ||
Line 406: | Line 406: | ||
</code> | </code> | ||
- | {{:bdd:laboratoare:l05s3.png?nolink&730|}} | + | {{:bd2:laboratoare:l05s3.png?nolink&730|}} |