Take the result of the MULTISET UNION DISTINCT operation and pass it as an argument to the SET operator to eliminate duplicates. : UNION « Result Set « Oracle PL / SQL






Take the result of the MULTISET UNION DISTINCT operation and pass it as an argument to the SET operator to eliminate duplicates.

  

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,4);
  3    b LIST := list(4,5,6,7);
  4  BEGIN
  5    dbms_output.put_line(format_list(SET(a MULTISET UNION b)));
  6  END;
  7  /
7

PL/SQL procedure successfully completed.

SQL>

   
    
  








Related examples in the same category

1.Union result set in action
2.union with like operator
3.UNION: adds all rows from the first and the second query, eliminate any duplicates, and return the results
4.A UNION query that uses an ORDER BY clause
5.Combining Data with UNION and subquery
6.Combining Data with UNION for single column
7.Union DBA_TABLES and DBA_INDEXES
8.Union date column
9.Union dba_indexes and dba_tables
10.Union two complex queries and subquery
11.Eliminate the duplication and mimic a UNION operator by appending the DISTINCT operator
12.Using union in subquery