我试图在ttXs
中找到重复的值:
DECLARE
type invmXXs is table of inv_table.mobileId%type index by binary_integer;
ttXs invmXXs;
answer BOOLEAN;
BEGIN
-- out_exported_list is ref cursor
-- (...)
OPEN out_exported_list FOR
/* (....) */
FETCH out_exported_list
BULK COLLECT INTO ttXs;
answer := ttXs IS NOT A SET; -- ORA-06550
-- ...
END;
但我得到的是ORA-06550,我不知道为什么。我该如何解决?
第1行的错误ORA-06550:第46行,第14列:PLS-00306:错误的数字 或者调用' MULTISET_UNION_DISTINCT' ORA-06550: 第46行,第1列:PL / SQL:语句被忽略
答案 0 :(得分:0)
下面是一个非常简单的示例,您可以尝试使用嵌套表来处理/查找重复项。您试图通过使用不支持SET操作的关联数组来实现此目的。希望这会有所帮助。
set serveroutput on;
DECLARE
TYPE lv_var
IS
TABLE OF VARCHAR2(100);
v_tab lv_var;
v1_tab lv_var;
BEGIN
v_tab :=lv_var('a','a','b','c','d','d','e');
v1_tab:=SET(v_tab);
v1_tab:=SET(v_tab MULTISET
EXCEPT v1_tab);
FOR i IN v1_tab.FIRST..v1_tab.LAST
LOOP
dbms_output.put_line(v1_tab(i));
END LOOP;
END;