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|}} |