This shows you the differences between two versions of the page.
bd:laboratoare:03 [2019/03/02 15:33] iulia.radulescu [Crearea unei copii a unui tabel] |
bd:laboratoare:03 [2021/03/16 12:38] (current) ciprian.truica [Exerciții individuale] |
||
---|---|---|---|
Line 1: | Line 1: | ||
===== Laborator 03 - Cereri cu variabile substituite în SQL*Plus===== | ===== Laborator 03 - Cereri cu variabile substituite în SQL*Plus===== | ||
- | **Conținut** | + | |
+ | ==== Obiective ==== | ||
* Crearea unei copii a unui tabel | * Crearea unei copii a unui tabel | ||
* Variabile substituite | * Variabile substituite | ||
Line 9: | Line 11: | ||
* Variabile definite cu DEFINE și resetate cu UNDEFINE | * Variabile definite cu DEFINE și resetate cu UNDEFINE | ||
* Exerciții | * Exerciții | ||
+ | ==== Materiale ajutătoare ==== | ||
+ | |||
+ | [[bd:resurse:tables|Resurse BD]] | ||
+ | |||
+ | {{:bd:laboratoare:laborator03.pdf|Laborator 3}} | ||
+ | |||
==== Crearea unei copii a unui tabel ==== | ==== Crearea unei copii a unui tabel ==== | ||
Line 20: | Line 28: | ||
Ex1. Să se creeze o copie a tabelului **emp**. Folosiți ambele metode. | Ex1. Să se creeze o copie a tabelului **emp**. Folosiți ambele metode. | ||
- | {{:bd:laboratoare:t4.png?nolink&400}} | + | {{ :bd:laboratoare:create_methods.png?nolink&400 }} |
**Observații:** | **Observații:** | ||
Line 32: | Line 40: | ||
**Metoda II** | **Metoda II** | ||
- | * Unordered List ItemColoanele din copie vor pastra aveleasi nume ca si coloanele din tabelul original. | + | * Coloanele din copie vor pastra aveleasi nume ca si coloanele din tabelul original. |
Line 47: | Line 55: | ||
<color red>Ex. 1.</color> Să se selecteze id_ang, nume, functie și salariu pentru angajatii care au același sef. Id-ul șefului se va introduce de la tastatură. | <color red>Ex. 1.</color> Să se selecteze id_ang, nume, functie și salariu pentru angajatii care au același sef. Id-ul șefului se va introduce de la tastatură. | ||
- | {{ :bd:laboratoare:lab03.ex1a.png |}} | + | {{ :bd:laboratoare:lab3_1_new.png |}} |
Rezultatul execuției exercițiului 1: | Rezultatul execuției exercițiului 1: | ||
Line 61: | Line 69: | ||
<color red>Ex. 2.</color> Să se selecteze numele, funcția și salariu pentru angajații care au aceași funcție. Funcția va fi introdusa de la tastatură. | <color red>Ex. 2.</color> Să se selecteze numele, funcția și salariu pentru angajații care au aceași funcție. Funcția va fi introdusa de la tastatură. | ||
- | {{ :bd:laboratoare:lab03.ex2a.png |}} | + | {{ :bd:laboratoare:lab3_2_new.png |}} |
Rezultatul execuției exercițiului 2: | Rezultatul execuției exercițiului 2: | ||
Line 75: | Line 83: | ||
<color red>Ex. 3.</color> Să se selecteze numele, funcția și salariul anual pentru toți angajații din același departament. Salariul anual este calculat după formula 12*salariu. Se va introduce de la tastatură funcția pentru salariul anual, numele tabelului, numele coloanei pe care se pune condiția și id-ul departamentului. | <color red>Ex. 3.</color> Să se selecteze numele, funcția și salariul anual pentru toți angajații din același departament. Salariul anual este calculat după formula 12*salariu. Se va introduce de la tastatură funcția pentru salariul anual, numele tabelului, numele coloanei pe care se pune condiția și id-ul departamentului. | ||
- | {{ :bd:laboratoare:lab03.ex3a.png |}} | + | {{ :bd:laboratoare:lab3_3_new.png |}} |
Rezultatul execuției exercițiului 3: | Rezultatul execuției exercițiului 3: | ||
Line 89: | Line 97: | ||
<color red>Ex. 4.</color> Să se selecteze numele, funcția și venitul lunar pentru toți angajații care au venitul lunar mai mare de 2000. Venitul lunar este o funcție care are formula salariu + nvl(comision, 0). | <color red>Ex. 4.</color> Să se selecteze numele, funcția și venitul lunar pentru toți angajații care au venitul lunar mai mare de 2000. Venitul lunar este o funcție care are formula salariu + nvl(comision, 0). | ||
- | {{ :bd:laboratoare:lab03.ex4a.png |}} | + | {{ :bd:laboratoare:lab3_4_new.png |}} |
Rezultatul execuției exercițiului 4: | Rezultatul execuției exercițiului 4: | ||
Line 111: | Line 119: | ||
Se va scrie următorul select înr-un fișier: | Se va scrie următorul select înr-un fișier: | ||
- | {{ :bd:laboratoare:lab03.ex5a.png |}} | + | {{ :bd:laboratoare:lab3_5_new.png |}} |
Execuția fișierului: | Execuția fișierului: | ||
Line 125: | Line 133: | ||
Când definim o variabilă cu ampersand, promptul va fi numele variabilei; | Când definim o variabilă cu ampersand, promptul va fi numele variabilei; | ||
Folosind comanda ACCEPT, se poate redefini promptul și chiar se pot ascunde caracterele introduse de la tastatură. | Folosind comanda ACCEPT, se poate redefini promptul și chiar se pot ascunde caracterele introduse de la tastatură. | ||
+ | |||
+ | <note> | ||
+ | Sintaxa completă pentru comanda ACCEPT [[https://docs.oracle.com/en/database/oracle/oracle-database/19/sqpug/ACCEPT.html#GUID-5D07E526-202B-429B-9E0C-005D1E37BBAB|Link]] | ||
+ | <code> | ||
+ | ACC[EPT] variable [NUM[BER] | CHAR | DATE | BINARY_FLOAT | BINARY_DOUBLE] [FOR[MAT] format] [DEF[AULT] default] [PROMPT text|NOPR[OMPT]] [HIDE] | ||
+ | </code> | ||
+ | </note> | ||
+ | |||
<color red>Ex. 6.</color> Să se selecteze numele, salariul și funcția angajaților care au aceeași funcție. Funcția se va da de la tastatură. | <color red>Ex. 6.</color> Să se selecteze numele, salariul și funcția angajaților care au aceeași funcție. Funcția se va da de la tastatură. | ||
Se vor scrie următoarele comenzi într-un fisier (de exemplu ex6.sql) | Se vor scrie următoarele comenzi într-un fisier (de exemplu ex6.sql) | ||
- | {{ :bd:laboratoare:lab03.ex6a.png |}} | + | {{ :bd:laboratoare:lab3_6_new.png |}} |
Execuția fișierul: | Execuția fișierul: | ||
Line 138: | Line 154: | ||
<color red>Ex. 7.</color> Să se adauge un nou angajat. La introducerea salariului caracterele să fie ascunse. | <color red>Ex. 7.</color> Să se adauge un nou angajat. La introducerea salariului caracterele să fie ascunse. | ||
- | {{ :bd:laboratoare:lab03.ex7a.png |}} | + | {{ :bd:laboratoare:lab3_7_new.png |}} |
Execuția fișierului: | Execuția fișierului: | ||
Line 149: | Line 165: | ||
<color red>Ex. 8.</color> Să se calculeze o primă de 15% pentru toți angajații din departamentul 20. | <color red>Ex. 8.</color> Să se calculeze o primă de 15% pentru toți angajații din departamentul 20. | ||
- | {{ :bd:laboratoare:lab03.ex8a.png |}} | + | {{ :bd:laboratoare:lab3_8_new.png |}} |
Rezultatul execuției exercițiului 8: | Rezultatul execuției exercițiului 8: | ||
Line 160: | Line 176: | ||
====Exerciții individuale==== | ====Exerciții individuale==== | ||
- | 1. Să se scrie o comandă SQL care listează toți angajații dintr-un departament (introdus ca parametru de la tastatură), care au venitul anual peste un venit mediu anual (introdus tot de la tastatură) | + | 1. Să se scrie o comandă SQL care listează toți angajații dintr-un departament (introdus ca parametru de la tastatură), care au venitul anual peste un venit mediu anual (introdus tot de la tastatură). |
+ | Să se afișeze numele angajatului, id-ul de departamentul, venitul anual. | ||
Dați cel puțin 4 metode de rezolvare. | Dați cel puțin 4 metode de rezolvare. | ||
- | ====Bibliografie==== | + | |
- | - **Alexandru Boicea** -// Oracle SQL SQL Plus//, Editura Printech | + |