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
Transforming Healthcare and E-commerce Efficiency: How Enteros Leverages Generative AI to Optimize SaaS Database Performance and Drive Digital Innovation
- 10 November 2025
- Database Performance Management
Introduction In an era defined by data-driven transformation, both the healthcare and e-commerce sectors stand as two of the most dynamic and fast-evolving industries. While their missions differ — one saves lives and the other shapes consumer experiences — both share a common foundation: data.Every patient interaction, online purchase, diagnostic scan, or personalized recommendation depends … Continue reading “Transforming Healthcare and E-commerce Efficiency: How Enteros Leverages Generative AI to Optimize SaaS Database Performance and Drive Digital Innovation”
Driving RevOps Excellence in the Technology Sector: How Enteros Combines AIOps Intelligence and Database Performance Management for Superior Operational Efficiency
Introduction The technology sector thrives on innovation, speed, and precision. As organizations accelerate digital transformation, the pressure to maintain database performance, system reliability, and cost efficiency intensifies. With expanding workloads, hybrid cloud infrastructures, and distributed databases, achieving seamless performance management across platforms becomes increasingly complex. This complexity directly impacts Revenue Operations (RevOps) — the strategic … Continue reading “Driving RevOps Excellence in the Technology Sector: How Enteros Combines AIOps Intelligence and Database Performance Management for Superior Operational Efficiency”
Why AI Projects Fail Before They Start — Data Quality First
Insight for CIOs, FinOps and IT Leaders in 2025 Introduction AI is everywhere in boardroom conversations: promises of automation, predictive insights, and competitive advantage. Yet behind the hype lies a sobering reality — most AI projects stall before they deliver measurable value. The paradox is striking: the algorithms are powerful, but the data feeding them … Continue reading “Why AI Projects Fail Before They Start — Data Quality First”
Revolutionizing the BFSI Sector: How Enteros Harnesses Generative AI and AIOps for Next-Generation Performance Management
- 9 November 2025
- Database Performance Management
Introduction In the fast-evolving Banking, Financial Services, and Insurance (BFSI) sector, digital transformation is not just a competitive advantage—it’s an operational necessity. Every second of downtime, lagging transaction, or database bottleneck can translate into millions in lost revenue, compliance risks, and diminished customer trust. The BFSI industry depends on robust, scalable, and intelligent systems that … Continue reading “Revolutionizing the BFSI Sector: How Enteros Harnesses Generative AI and AIOps for Next-Generation Performance Management”