Documente Academic
Documente Profesional
Documente Cultură
var NUMBER;
BEGIN
var :=3;
DBMS_OUTPUT.PUT_LINE(var);
<<bloc3>>
DECLARE
var NUMBER;
BEGIN
var :=4;
DBMS_OUTPUT.PUT_LINE(var);
DBMS_OUTPUT.PUT_LINE(bloc2.var);
END bloc3;
DBMS_OUTPUT.PUT_LINE(var);
END bloc2;
DBMS_OUTPUT.PUT_LINE(var);
END;
/
3. S se calculeze suma a dou numere, iar rezultatul s se divid cu 3.
DECLARE
v_num1 number :=10;
v_num2 number :=20;
v_rezultat number;
BEGIN
v_rezultat:=(v_num1+v_num2)/3;
dbms_output.put_line('Rezultatul este: '||v_rezultat);
END;
/
4. S se afieze salariul mrit cu un procent.
DECLARE
v_sal number:=2000;
v_procent number:=10;
BEGIN
dbms_output.put_line(v_sal*(1+ v_procent/100));
END;
/
5. S se afieze TVA pentru o anumit valoare specificata.
6. Creati un bloc PL/SQL ce selecteaza stocul maxim pentru produsele existente in
tabela PRODUSE. Tipariti rezultatul pe ecran.
7. Creati un bloc PL/SQL ce adauga un produs nou in tabela PRODUSE.
seciune declarativ
BEGIN
seciune executabil
EXCEPTION
seciune tratare erori
END;
a) sunt obligatorii toate seciunile;
b) sunt opionale toate seciunile;
c) lipsesc alte seciuni;
d) este obligatorie doar seciunea executabil;;
e) este obligatorie doar seciunea declarativ.
19. Se consider secvena PL/SQL:
DECLARE
i NUMBER(3);
n NUMBER;
BEGIN
FOR i IN 1 .. 15 LOOP
n:=i MOD 2;
IF n=0 THEN
INSERT INTO mesaje VALUES (i, 'par');
ELSE
INSERT INTO mesaje VALUES (i, 'impar');
END IF;
COMMIT;
END;
/
Precizai rspunsurile corecte. Explicai!
a) se realizeaz o ciclare cu numrtor;
b) se realizeaz adugarea de noi atribute n tabela Mesaje;
c) nu se respect structura de bloc PL/SQL;
d) este greit.
20. Un cursor implicit poate fi evaluat folosind atributele:
a) SQL%ROWCOUNT;
b) SQL%FOUND;
c) SQL%TYPE;
d) SQL%ROWTYPE;
e) SQL%NOTFOUND.
21. ntr-un bloc PL/SQL o excepie se definete n mod explicit (de ctre utilizator) prin
comanda:
a) RAISE nume_excepie;
b) nume_excepie EXCEPTION;
c) WHEN nume_excepie THEN;
d) nu se poate.
22. Un trigger este executat implicit de serverul Oracle atunci cnd are loc:
a) insert
b) update
c) delete
d) select
e) create
23. Se d urmtoarea secven de comenzi:
DECLARE
invalid_prod EXCEPTION;
BEGIN
UPDATE produse
SET denprodus='cafea'
WHERE codprodus=3;
IF SQL%NOTFOUND THEN
RAISE invalid_prod;
END IF;
EXCEPTION
WHEN invalid_prod THEN
DBMS_OUTPUT.PUT_LINE('Nu exista produsul cu acest cod');
END;
/
Care afirmaii sunt corecte:
a) se trateaz o excepie de sistem;
b) utilizeaz un cursor implicit;
c) utilizeaz un cursor explicit;
d) se trateaz o excepie definit de utilizator;
24. Se d urmtoarea secven de comenzi:
CREATE TABLE mesaje
(cod varchar2(7),
nume varchar2(20)
);
DECLARE
v_cod agenti.codagent%type;
v_nume agenti.numeagent%type;
CURSOR c1 IS SELECT codagent,numeagent FROM agenti;
BEGIN
OPEN c1;
FOR i IN 1..5 LOOP
FETCH c1 INTO v_cod,v_nume;
INSERT INTO mesaje VALUES(v_cod,v_nume);
END LOOP;
CLOSE c1;
END;
/
Care afirmaie este greit:
a) se deschide un cursor implicit definit de utilizator;
b) se utilizeaz o structur de control repetitiv
c) se creeaz o tabel;
d) se definesc dou variabile scalare;
e) se definete un cursor explicit;
25. Precizai ce va afia urmtorul bloc PL/SQL:
DECLARE
Myage number;
BEGIN
IF myage>18 THEN
dbms_output.put_line('Adult!');
ELSE
dbms_output.put_line('Copil!');
END IF;
END;
/
26. Care din urmtoarele variabile nu este corect definit? Explicai!
a) v_codp produse.codprodus%type;
b) v_data date default sysdate;
c) v_stocmin produse.stoc%type := 500;
d) v_data2 date := sysdate+7;
e) v_valid boolean not null;
27. n urmtorul exemplu se definesc:
DECLARE
v1 number(7,2);
v2 boolean;
v3 char(7);
v4 date;
v5 agenti%rowtype;
Specificai care afirmaie este eronat. n secvena de mai sus sunt definite:
a) o variabil numeric;
b) o variabil de tip dat calendaristic;
c) o variabil boolean;
d) o variabil de tip ir de caractere de lungime variabil;
e) o variabil compus de tip nregistrare (record).