我有两个嵌套表类型的 PLSQL 数组:
TYPE nested_typ IS TABLE OF VARCHAR2(21);
nt1 nested_typ := nested_typ('abc','def','123');
nt2 nested_typ := nested_typ('123');
我想有这两个集合的区别,对于上面的例子:'def','abc'
请建议任何简单的方法来做到这一点?
谢谢...
我有两个嵌套表类型的 PLSQL 数组:
TYPE nested_typ IS TABLE OF VARCHAR2(21);
nt1 nested_typ := nested_typ('abc','def','123');
nt2 nested_typ := nested_typ('123');
我想有这两个集合的区别,对于上面的例子:'def','abc'
请建议任何简单的方法来做到这一点?
谢谢...
基本上,您想对嵌套表使用减号功能。在 10g 中有一个称为 MULTISET EXCEPT 的新功能。如果要将减号的输出存储在变量中,请按照以下步骤操作
declare var1 <nested table type>
在代码的开始部分中,您编写以下代码以获得减号输出
var1:=var2 multiset except var3;
看一下这个
Declare
TYPE nested_typ IS TABLE OF VARCHAR2(21);
nt1 nested_typ := nested_typ('abc','def','123');
nt2 nested_typ := nested_typ('123');
nt3 nested_typ;
Begin
nt3 := nt1 multiset except nt2;
dbms_output.put_line(nt3(1)||' '||nt3(2));
end;
希望这可以帮助。