This shows you the differences between two versions of the page.
bdd:laboratoare:01 [2024/10/07 11:27] 127.0.0.1 external edit |
bdd:laboratoare:01 [2024/10/07 14:25] (current) alex.petrescu |
||
---|---|---|---|
Line 40: | Line 40: | ||
Structura logică a unui bloc **PL/SQL** anonim este: | Structura logică a unui bloc **PL/SQL** anonim este: | ||
- | {{:bdd:laboratoare:block.png?600|}} | + | {{:bd2:laboratoare:block.png?600|}} |
<color red>Ex. 1.</color> Să se selecteze numele si functia unui angajat introducand id-ul acestuia de la tastatura (testați cu 1, 100 și 200). | <color red>Ex. 1.</color> Să se selecteze numele si functia unui angajat introducand id-ul acestuia de la tastatura (testați cu 1, 100 și 200). | ||
- | {{:bdd:laboratoare:l01ex01.png?600|}} | + | {{:bd2:laboratoare:l01ex01.png?600|}} |
<note important> | <note important> | ||
Line 108: | Line 108: | ||
- | {{:bdd:laboratoare:l01ex02.png?600|}} | + | {{:bd2:laboratoare:l01ex02.png?600|}} |
Line 150: | Line 150: | ||
<color red>Ex. 3.</color> Să se rezolve exercițiul anterior folosind blocuri imbricate. | <color red>Ex. 3.</color> Să se rezolve exercițiul anterior folosind blocuri imbricate. | ||
- | {{:bdd:laboratoare:l01ex03.png?600|}} | + | {{:bd2:laboratoare:l01ex03.png?600|}} |
==== Executarea blocurilor PL/SQL în SQL*Plus (Opțional) ==== | ==== Executarea blocurilor PL/SQL în SQL*Plus (Opțional) ==== | ||
Line 253: | Line 253: | ||
<color red>Ex. 4.</color> Să se scrie un bloc PL/SQL care primește de la tastatură un id de angajat și va afișa un mesaj cu forma: '**nume_angajat** are un venit orar de **venit_orar** și face parte din departamentul **denumire_departament**. A lucrat în firma un număr total de **zile_lucrate** zile'. În caz că angajatul nu există să se trateze eroarea. | <color red>Ex. 4.</color> Să se scrie un bloc PL/SQL care primește de la tastatură un id de angajat și va afișa un mesaj cu forma: '**nume_angajat** are un venit orar de **venit_orar** și face parte din departamentul **denumire_departament**. A lucrat în firma un număr total de **zile_lucrate** zile'. În caz că angajatul nu există să se trateze eroarea. | ||
- | {{:bdd:laboratoare:l01ex04.png?600|}} | + | {{:bd2:laboratoare:l01ex04.png?600|}} |
==== Tipuri de date corelate ==== | ==== Tipuri de date corelate ==== | ||
Line 265: | Line 265: | ||
<color red> Ex. 5.</color> Să se scrie un bloc PL/SQL care primește de la tastatură un id de angajat și afișează numele, funcția acestuia, departamentul și locația departamentului. Locația deopartamentului va cuprinde orașul, statul/județul, țara și regiunea. | <color red> Ex. 5.</color> Să se scrie un bloc PL/SQL care primește de la tastatură un id de angajat și afișează numele, funcția acestuia, departamentul și locația departamentului. Locația deopartamentului va cuprinde orașul, statul/județul, țara și regiunea. | ||
- | {{:bdd:laboratoare:l01ex05.png?600|}} | + | {{:bd2:laboratoare:l01ex05.png?600|}} |
==== Tipuri de date LOB ==== | ==== Tipuri de date LOB ==== | ||
Line 388: | Line 388: | ||
</note> | </note> | ||
- | {{:bdd:laboratoare:l01dvc.png?300|}} | + | {{:bd2:laboratoare:l01dvc.png?300|}} |
===== Exerciții rezolvate ===== | ===== Exerciții rezolvate ===== | ||
Line 394: | Line 394: | ||
<color red>Ex. 6.</color> Să se afișeze informațiile despre ultimul angajat care a venit în firmă în anul 2001. | <color red>Ex. 6.</color> Să se afișeze informațiile despre ultimul angajat care a venit în firmă în anul 2001. | ||
- | {{:bdd:laboratoare:l01ex06.png?600|}} | + | {{:bd2:laboratoare:l01ex06.png?600|}} |
<color red> Ex. 7.</color> Să se găsească care angajat are o vechime de peste 19 de ani si 5 luni in firmă. | <color red> Ex. 7.</color> Să se găsească care angajat are o vechime de peste 19 de ani si 5 luni in firmă. | ||
- | {{:bdd:laboratoare:l01ex07.png?600|}} | + | {{:bd2:laboratoare:l01ex07.png?600|}} |
Line 407: | Line 407: | ||
Dacă sunt mai mulți angajați, se va declanșa excepția **too_many_rows** și se va afișa mesajul 'Sunt [numar angajari] angajari in anul [an]'. | Dacă sunt mai mulți angajați, se va declanșa excepția **too_many_rows** și se va afișa mesajul 'Sunt [numar angajari] angajari in anul [an]'. | ||
- | {{:bdd:laboratoare:l01ex08.png?600|}} | + | {{:bd2:laboratoare:l01ex08.png?600|}} |
<color red>Ex. 9.</color> Să să selecteze departamementul, numele, data angajării și comisionul unui angajat introducând id-ul angajatului de la tastatură. În cazul în care angajatul nu are departament, se afișează N/A. Testați cu valorile 100 si 178 | <color red>Ex. 9.</color> Să să selecteze departamementul, numele, data angajării și comisionul unui angajat introducând id-ul angajatului de la tastatură. În cazul în care angajatul nu are departament, se afișează N/A. Testați cu valorile 100 si 178 | ||
- | {{:bdd:laboratoare:l01ex09.png?600|}} | + | {{:bd2:laboratoare:l01ex09.png?600|}} |
<color red>Ex. 10.</color> Să se calculeze suma veniturilor angajaților care au aceeași funcție și lucrează în același departament. | <color red>Ex. 10.</color> Să se calculeze suma veniturilor angajaților care au aceeași funcție și lucrează în același departament. | ||
Line 419: | Line 419: | ||
- | {{:bdd:laboratoare:l01ex10.png?600|}} | + | {{:bd2:laboratoare:l01ex10.png?600|}} |