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 ...
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