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