▪Se verifică existența unui client pentru care id_client este citit de la tastatură ▪În cazul în care clientul indicat nu există, se invocă o excepție ▪În cazul în care clientul indicat există: ✓Se afișează numele respectivului client ✓Se afișează informații despre comenzile încheiate de acesta (id_comandă, data, valoarea) ✓Se afișează numărul total de comenzi pe care acesta le-a încheiat Testați blocul creat folosind: -id_client = 1 -- clientul nu există -id_client = 120 -- clientul există și a încheiat o comandă -id_client = 850 -- clientul există, dar nu a încheiat nicio comandă -id_client = 108 -- clientul există și a încheiat mai multe comenzi 1 Exercițiul 2 Se consideră blocul PL/SQL: DECLARE CURSOR c IS SELECT nume FROM angajati; r c%ROWTYPE; BEGIN BEGIN FETCH c INTO r; DBMS_OUTPUT.PUT_LINE('Numele este '||r.nume); EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('A'); END; DBMS_OUTPUT.PUT_LINE('B'); EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('C'); END; / 2 1.Cum puteți afla care este eroarea apărută? 2.Cum puteți corecta blocul astfel încât să nu se mai genereze eroare? 3.Ce afișează blocul după efectuarea corecturilor? 4.Completați blocul pentru a se afișa toți angajații ! 5.Modificați cursorul astfel: CURSOR c IS SELECT nume FROM angajati WHERE id_departament=1;
Ce se afișează dacă prin cursor nu se aduc date în memorie
(comanda SELECT nu returnează nimic)? 6.Tratați printr-o excepție explicită cazul în care prin cursor nu se returnează nimic !