LABORATORUL  3

 

Salvaţi fiecare bloc PL/SQL care rezolvă problemele următoare în câte un script.

Creaţi şi executaţi un bloc PL/SQL care să afişeze mesajul ‘BUNA ZIUA’.

1. Completati scriptul de la punctul 1 astfel:

a.       Adăugaţi o secţiune declarativă în care declaraţi următoarele variabile :

                                                              i.      Variabila ‘astazi’ de tipul DATE, iniţializată cu valoarea sysdate

                                                            ii.      Variabila ‘maine’ pe care o declaraţi de acelaşi tip cu variabila ‘astazi’ (se va folosi atributul %TYPE)

b.      In secţiunea executabilă atribuiţi varabilei ‘maine’ o expresie care sa calculeze data zilei de maine

c.       Afişaţi valorile celor două variabile

2. Completaţi scriptul anterior astfel :

d.      Adăugaţi cod pentru a crea următoarele doua variabile bind : procent1 respectiv procent2 de tip NUMBER

e.       In secţiunea executabilă a blocului PL/SQL atribuiţi acestora valorile 45 respectiv 12.

f.       Comentaţi pe un rând semnificaţia valorilor atribuite  (EX : ‘variabila procent1 este 45% din valoarea de bază’)

g.      Afişati valorile acestor variabile (folositi comanda PRINT)

3. Modificaţi scriptul de la punctul 3 astfel:

    1. Declaraţi două variabile fname si emp_sal.
    2. Includeti in sectiunea executabilă o instrucţiune care sa extraga in aceste variabile valorile corespunzătoare aferente angajatului cu identificatorul 110 (din tabelul employees)
    3. Presupunând ca cele două variabile procent1 şi procent2 reprezintă – procentul de crestere a salariului  angajatului (procent1) respectiv procentul viramentelor catre diferite organisme (procent2), calculati si afisat sumele rezultate pentru acelasi angajat ca la punctul b.

4. Scriptul de la punctul anterior se va modifica astfel incât sa permită introducerea de la tastatura a identificatorului angajatului pentru care se solicita prelucrările.

 

5. Scrieţi un bloc PL/SQL care afisează informaţii referitoare la un departament anume.

 

    1. Declaraţi un tip RECORD  pe baza structurii tabelului departments.
    2. Declarati o variabilă depno căreia sa ii atribuiti valori de la tastatură.
    3. Folosiţi atributul %ROWTYPE  pentru a declara variabila dep_rec de tipul departments.
    4. Afisati informaţiile referitoare la departamentul dorit folosind elementele variabilei dep_rec.

 

6.       Creaţi un bloc PL/SQL care realizează următoarele:

    1. Se declară o variabila  deptno de tipul valorilor din campul department_id al tabelului departments.
    2. Se declara un cursor emp_curs care regăseşte last_name, salary şi manager_id pentru angajatii care lucrează în departamentul specificat prin deptno.
    3. In sectiunea executabilă utilizati cursorul in modul FOR …LOOP pentru a afisa datele extrase prin cursor.
    4. Executati blocul creat considerand valorile 10, 20, 50 pentru variabila deptno.