Ich habe eine Sammlung von Objekttyp deklariert:Eliminieren von Duplikaten in der Sammlung
CREATE TYPE category_type AS OBJECT (
col1 VARCHAR2(6),
col2 VARCHAR2(10),
col3 NUMBER);
/
CREATE TYPE category_tab AS TABLE OF category_type;
/
Und in der PL/SQL-Code:
v_category_data category_Tab := category_tab();
Nachdem ich v_category_data bevölkern, finde ich es Duplikate. Ich muss sie entfernen. Also, ich habe versucht, mit MULTISET UNION DISTINCT durch diese Arbeit:
v_new_data := v_category_data;
v_new_data := v_new_data MULTISET UNION DISTINCT v_category_data;
Allerdings bekomme ich diesen Fehler:
804/17 PLS-00306: wrong number or types of arguments in call to
'MULTISET_UNION_DISTINCT'
Ich versuchte, die MAP-Funktionalität, aber nicht verstehen, wie genau zu verwenden, es, oder wenn es helfen würde.
Kennt jemand eine Möglichkeit, die Duplikate in einer Objektsammlung zu entfernen?
Wie Sie die Sammlung bevölkern - können Sie nicht die Duplikate werden in erster Linie eingeschlossen verhindern? –
HI, ich denke ** in ** auswählen ist hier einfacher. Wählen Sie distinct einfach in Ihre Variable – hmmftg
Schauen Sie sich die SET-Funktion an: https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions144.htm#i1269374 –