multiset union distinct
exige que les éléments de la collection soient comparables. Dans votre cas, les éléments sont des enregistrements PL/SQL qui ne sont malheureusement pas des structures de données comparables (c'est-à-dire que PL/SQL ne fournit aucun mécanisme intégré pour comparer les enregistrements PL/SQL).
multiset union
fonctionne car il n'a pas besoin de comparer les éléments.
Une solution de contournement possible consiste à utiliser le type d'objet Oracle au lieu de l'enregistrement PL/SQL. Le type d'objet vous permet de implémenter une méthode de comparaison requis par multiset union distinct
.