Preamble
In Oracle PL/SQL, the MULTISET UNION collection operation returns the merging of two collections
MULTISET UNION syntax in Oracle PL/SQL
nt1 MULTISET UNION nt2
Collection parameters and arguments
- nt1, nt2 – collections to combine
Note:
- Operations are possible only with nested tables collections. Both collections that participate in an operation must be of the same type. The result of the operation is also a collection of nested tables.
Consider some examples of operations on the MULTISET UNION collections to understand how to use MULTISET UNION in Oracle PL/SQL
For example:
DECLARE
reslt varchar2(100);
TYPE nested_typ IS TABLE OF NUMBER;
nt1 nested_typ := nested_typ(1,2,3);
nt2 nested_typ := nested_typ(3,2,1);
nt3 nested_typ := nested_typ(2,3,1,3);
answer nested_typ;
BEGIN
answer := nt1 MULTISET UNION nt2;
for iter in answer.first ... answer.last
loop
if iter = 1 then
reslt:=answer(iter);
else
reslt := reslt ||', '||to_char(answer(iter));
end if;
end loop;
dbms_output.put_line('nt1 MULTISET UNION nt2 = '||reslt);
--Output: nt1 MULTISET UNION nt2 = 1, 2, 3, 3, 2, 1
answer := nt1 MULTISET UNION nt3;
for iter in answer.first ... answer.last
loop
if iter = 1 then
reslt:=answer(iter);
else
reslt := reslt ||', '||to_char(answer(iter));
end if;
end loop;
dbms_output.put_line('nt1 MULTISET UNION nt3 = '||reslt);
--Output: nt1 MULTISET UNION nt3 = 1, 2, 3, 2, 3, 1, 3.
END;
Another example of MULTISET UNION with line collections
DECLARE
reslt varchar2(100);
TYPE nested_typ IS TABLE OF varchar2(20);
nt1 nested_typ := nested_typ('alpha', 'beta', 'gamma');
nt2 nested_typ := nested_typ('beta', 'gamma', 'alpha');
nt3 nested_typ := nested_typ('beta', 'alpha', 'gamma', 'delta');
answer nested_typ;
BEGIN
answer := nt1 MULTISET UNION nt2;
for iter in answer.first ... answer.last
loop
if iter = 1 then
reslt:=answer(iter);
else
reslt := reslt ||', '||answer(iter);
end if;
end loop;
dbms_output.put_line('nt1 MULTISET UNION nt2 = '||reslt);
--Output: nt1 MULTISET UNION nt2 = alpha, beta, gamma, gamma, alpha
answer := nt1 MULTISET UNION nt3;
for iter in answer.first ... answer.last
loop
if iter = 1 then
reslt:=answer(iter);
else
reslt := reslt ||', '||answer(iter);
end if;
end loop;
dbms_output.put_line('nt1 MULTISET UNION nt3 = '||reslt);
--Output: nt1 MULTISET UNION nt3 = alpha, beta, gamma, alpha, gamma, delta
END;
Set-Level Manipulation of Nested Tables (MULTISET)
About Enteros
Enteros offers a patented database performance management SaaS platform. It proactively identifies root causes of complex business-impacting database scalability and performance issues across a growing number of clouds, RDBMS, NoSQL, and machine learning database platforms.
The views expressed on this blog are those of the author and do not necessarily reflect the opinions of Enteros Inc. This blog may contain links to the content of third-party sites. By providing such links, Enteros Inc. does not adopt, guarantee, approve, or endorse the information, views, or products available on such sites.
Are you interested in writing for Enteros’ Blog? Please send us a pitch!
RELATED POSTS
How to Accelerate Insurance Sector Growth with Enteros Cost Attribution and RevOps Strategy
- 13 May 2026
- Database Performance Management
Introduction The insurance industry is rapidly evolving as organizations embrace digital transformation, data-driven decision-making, and customer-centric business models. Modern insurers must deliver seamless digital experiences, process claims efficiently, personalize policy offerings, and maintain operational agility in an increasingly competitive market. At the same time, insurance companies face rising operational costs, growing regulatory complexity, and increasing … Continue reading “How to Accelerate Insurance Sector Growth with Enteros Cost Attribution and RevOps Strategy”
How to Scale Entertainment Platforms with Enteros Cloud FinOps, AIOps, and Database Intelligence
Introduction The entertainment industry has entered a new era driven by digital streaming, cloud-native platforms, online gaming, live content delivery, and personalized audience experiences. Modern entertainment companies must support millions of users simultaneously while delivering seamless streaming, real-time interactions, and high-quality digital experiences across multiple devices. As entertainment platforms continue to expand globally, organizations face … Continue reading “How to Scale Entertainment Platforms with Enteros Cloud FinOps, AIOps, and Database Intelligence”
How to Transform Media Sector Growth with Enteros Database Optimization, AI SQL, and Generative AI
Introduction The media industry is evolving at an unprecedented pace. Streaming platforms, digital publishing, online advertising, social media engagement, and real-time content delivery are transforming how audiences consume media across the globe. Modern media organizations must deliver seamless digital experiences, personalized content recommendations, and uninterrupted streaming performance while managing massive volumes of data and growing … Continue reading “How to Transform Media Sector Growth with Enteros Database Optimization, AI SQL, and Generative AI”
How to Modernize Financial Operations with Enteros Database Software, Growth Management, and AIOps
- 12 May 2026
- Database Performance Management
Introduction The financial sector is undergoing rapid transformation as digital banking, fintech innovation, cloud computing, and AI-driven technologies continue to reshape the industry. Financial institutions are expected to deliver seamless customer experiences, process transactions in real time, maintain strict compliance standards, and support increasingly complex digital ecosystems. At the same time, financial organizations face growing … Continue reading “How to Modernize Financial Operations with Enteros Database Software, Growth Management, and AIOps”