exercitii – variabile, structuri, cursor_0

2
EXERCITII – VARIABILE, STRUCTURI, CURSORUL 1. Creaţi un bloc PL/SQL prin care să se dubleze preţul ( pret_lista) pentru produsele din categoriile hardware2 şi hardware3. În cazul în care actualizarea se realizează cu succes, afişaţi numărul de înregistrări modificate. 2. Afişaţi numele şi telefonul aferente fiecărui client cu id-ul număr par. 3. Afisati folosind un cursor toate comenzile care au fost date in ultimele 180 luni. 4. Sa se afiseze folosind un cursor de cate ori a fost comandat fiecare produs care face parte din categoria hardware2 5. sa se afiseze cele mai mari trei comenzi, ca valoare, date de clientii de sex M, utilizand un cursor; 6. Sa se afiseze denumirea departamentului si angajatii care fac parte din fiecare departament; 7. Creaţi un bloc PL/SQL care să afişeze codul şi denumirea pentru departamentul din localitatea al cărei cod (id_locatie) este precizat (fie citit de la tastatură, fie dat drept valoare iniţială unei variabile locale). 8. Să se afiseze numarul de salariati care au fost angajati inainte de o data (an) precizata de utilizator printr-o variabila de substitutie (spre exemplu inanite de 1997). 9. Sa se afiseze numele, salariul si venitul anual (salariul*12+comision*salariul*12) angajatii cu id-ul cuprins intre 150 si 170. Modificati blocul de mai sus si afisati doar angajatii care au salariul mai mare decat media (se foloseste o variabila in care se va incarca salariul mediu). Se poate rezolva problema fara cursor? 10. Să se afişeze salariul, numele şi id-ul angajaţilor al căror prenume este John. 11. Creati tabela PRODUSE2 astfel: CREATE TABLE PRODUSE2 AS SELECT * FROM PRODUSE; Creaţi un bloc PL/SQL ce adaugă un produs nou in tabela PRODUSE2.

Upload: ioan-adascalitei

Post on 23-Dec-2015

216 views

Category:

Documents


2 download

DESCRIPTION

Exercitii – Variabile, Structuri, Cursor_0

TRANSCRIPT

Page 1: Exercitii – Variabile, Structuri, Cursor_0

EXERCITII – VARIABILE, STRUCTURI, CURSORUL

1. Creaţi un bloc PL/SQL prin care să se dubleze preţul (pret_lista) pentru produsele din categoriile hardware2 şi hardware3. În cazul în care actualizarea se realizează cu succes, afişaţi numărul de înregistrări modificate.

2. Afişaţi numele şi telefonul aferente fiecărui client cu id-ul număr par.

3. Afisati folosind un cursor toate comenzile care au fost date in ultimele 180 luni.

4. Sa se afiseze folosind un cursor de cate ori a fost comandat fiecare produs care face parte din categoria hardware2

5. sa se afiseze cele mai mari trei comenzi, ca valoare, date de clientii de sex M, utilizand un cursor;

6. Sa se afiseze denumirea departamentului si angajatii care fac parte din fiecare departament;

7. Creaţi un bloc PL/SQL care să afişeze codul şi denumirea pentru departamentul din localitatea al cărei cod (id_locatie) este precizat (fie citit de la tastatură, fie dat drept valoare iniţială unei variabile locale).

8. Să se afiseze numarul de salariati care au fost angajati inainte de o data (an) precizata de utilizator printr-o variabila de substitutie (spre exemplu inanite de 1997).

9. Sa se afiseze numele, salariul si venitul anual (salariul*12+comision*salariul*12) angajatii cu id-ul cuprins intre 150 si 170. Modificati blocul de mai sus si afisati doar angajatii care au salariul mai mare decat media (se foloseste o variabila in care se va incarca salariul mediu). Se poate rezolva problema fara cursor?

10. Să se afişeze salariul, numele şi id-ul angajaţilor al căror prenume este John.

11. Creati tabela PRODUSE2 astfel:

CREATE TABLE PRODUSE2 AS SELECT * FROM PRODUSE;

Creaţi un bloc PL/SQL ce adaugă un produs nou in tabela PRODUSE2.

a. Folosiţi maximul dintre codurile produselor si adăugaţi 10 la aceasta valoare, folosind-o ca valoare pentru codul produsului nou introdus.

b. Folosiţi variabile de substituţie pentru denumirea produsului si pretul de lista.

c. Lăsaţi descrierea produsului NULL.

d. Finalizati tranzactia de mai sus (COMMIT).

12. Creaţi un bloc PL/SQL ce selectează pretul de lista maxim pentru produsele existente in tabela PRODUSE2. Tipăriţi rezultatul pe ecran.

13. Creaţi un bloc PL/SQL care şterge din tabela PRODUSE2 produsele care au pretul de lista mai mare decat o valoare primita ca parametru (variabila de substituţie). Afisati numarul de prosude sterse (SQL%ROWCOUNT). Anulati stergerea (ROLLBACK).

14. Creaţi un bloc PL/SQL prin care se dublează preţul produsului (pret_lista) al cărui cod este 3169. În cazul în care acesta nu există (comanda UPDATE nu realizează nicio modificare, vezi SQL%NOTFOUND) se va afisa un mesaj.