Sunteți pe pagina 1din 1

EXERCITII PROPUSE – VARIABILE, STRUCTURI, CURSOR IMPLICIT

A.
1. Afişaţi numele şi telefonul aferente fiecărui client cu id-ul număr par.
2. Creaţi un bloc PL/SQL care să afişeze codul şi denumirea pentru departamentul din
localitatea al cărei cod (id_produs) este precizat (fie citit de la tastatură, fie dat drept
valoare iniţială unei variabile locale).
3. 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).
4. 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).

B. Creati tabela PRODUSE2 astfel:

CREATE TABLE PRODUSE2 AS SELECT * FROM PRODUSE:

Realizati urmatoarele blocuri PLSQL:

1. 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).
2. Creaţi un bloc PL/SQL ce selectează pretul de lista maxim pentru produsele existente
in tabela PRODUSE2. Tipăriţi rezultatul pe ecran.
3. 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).
4. 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.
5. 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.