Eliminate the duplication and mimic a UNION operator by appending the DISTINCT operator : UNION « Result Set « Oracle PL / SQL






Eliminate the duplication and mimic a UNION operator by appending the DISTINCT operator

  

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(a MULTISET UNION DISTINCT b));
  6  END;
  7  /
7

PL/SQL procedure successfully completed.

SQL>
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.Take the result of the MULTISET UNION DISTINCT operation and pass it as an argument to the SET operator to eliminate duplicates.
12.Using union in subquery