SET operator removes any duplicates from the set and returns a new set with unique values
SQL> CREATE OR REPLACE TYPE list IS TABLE OF NUMBER;
2 /
Type created.
SQL>
SQL> CREATE OR REPLACE FUNCTION format_list(set_in LIST) RETURN VARCHAR2 IS
2 returnValue VARCHAR2(2000);
3 BEGIN
4 FOR i IN set_in.FIRST..set_in.LAST LOOP
5 returnValue := set_in(i)||' ';
6 END LOOP;
7 RETURN returnValue;
8 END format_list;
9 /
Function created.
SQL>
SQL> DECLARE
2 a LIST := list(1,2,3,3,4,4,5,6,6,7);
3 BEGIN
4 dbms_output.put_line(format_list(SET(a)));
5 END;
6 /
7
PL/SQL procedure successfully completed.
Related examples in the same category