Collections Oracle PLSQL Tutorial

The SET operator first converts a nested table into a set, removes duplicate elements from the set, and returns the set as a nested table.

SQL>
SQL> CREATE OR REPLACE PROCEDURE set_example AS
  2    TYPE nestedTableType IS TABLE OF VARCHAR2(10);
  3    myTable1 nestedTableType;
  4    myTable2 nestedTableType;
  5    count_var INTEGER;
  6  BEGIN
  7    myTable1 := nestedTableType('F', 'G', 'S', 'G');
  8    myTable2 := SET(myTable1);
  9    DBMS_OUTPUT.PUT('myTable2: ');
 10    FOR count_var IN 1..myTable2.COUNT LOOP
 11      DBMS_OUTPUT.PUT(myTable2(count_var) || ' ');
 12    END LOOP;
 13    DBMS_OUTPUT.PUT_LINE(' ');
 14  END set_example;
 15  /
Procedure created.
SQL> CALL set_example();
myTable2: F G S
Call completed.
SQL>