06.09.2014 Views

Laborator 5. Colectii de date PL/SQL In multe limbaje de ...

Laborator 5. Colectii de date PL/SQL In multe limbaje de ...

Laborator 5. Colectii de date PL/SQL In multe limbaje de ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

nt4 nested_typ := nested_typ(1,2,4);<br />

answer nested_typ;<br />

BEGIN<br />

answer := nt1 MULTISET UNION nt4; -- (1,2,3,1,2,4)<br />

print_nested_table(answer);<br />

answer := nt1 MULTISET UNION nt3; -- (1,2,3,2,3,1,3)<br />

print_nested_table(answer);<br />

answer := nt1 MULTISET UNION DISTINCT nt3; -- (1,2,3)<br />

print_nested_table(answer);<br />

answer := nt2 MULTISET INTERSECT nt3; -- (3,2,1)<br />

print_nested_table(answer);<br />

answer := nt2 MULTISET INTERSECT DISTINCT nt3; -- (3,2,1)<br />

print_nested_table(answer);<br />

answer := SET(nt3); -- (2,3,1)<br />

print_nested_table(answer);<br />

answer := nt3 MULTISET EXCEPT nt2; -- (3)<br />

print_nested_table(answer);<br />

answer := nt3 MULTISET EXCEPT DISTINCT nt2; -- ()<br />

print_nested_table(answer);<br />

END;<br />

--creati procedura<br />

PROCEDURE print_nested_table(the_nt nested_typ) IS<br />

output VARCHAR2(128);<br />

BEGIN<br />

IF the_nt IS NULL THEN<br />

DBMS_OUTPUT.PUT_LINE('Results: ');<br />

RETURN;<br />

END IF;<br />

IF the_nt.COUNT = 0 THEN<br />

DBMS_OUTPUT.PUT_LINE('Results: empty set');<br />

RETURN;<br />

END IF;<br />

FOR i IN the_nt.FIRST .. the_nt.LAST<br />

LOOP<br />

output := output || the_nt(i) || ' ';<br />

END LOOP;<br />

DBMS_OUTPUT.PUT_LINE('Results: ' || output);<br />

END;<br />

Anca Ion, Proiectarea Bazelor <strong>de</strong> Date, 2010

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!