multiset union distinct
vyžaduje, aby prvky sbírky byly srovnatelné. Ve vašem případě jsou prvky záznamy PL/SQL, které bohužel nejsou srovnatelné datové struktury (tj. PL/SQL neposkytuje žádný vestavěný mechanismus pro porovnání záznamů PL/SQL).
multiset union
funguje, protože nepotřebuje porovnávat prvky.
Jedním z možných řešení je použití typu objektu Oracle namísto záznamu PL/SQL. Typ objektu vám umožňuje implementovat metodu porovnání vyžaduje multiset union distinct
.