当前位置:  开发笔记 > 数据库 > 正文

Oracle从类型号数组中获取distict值

如何解决《Oracle从类型号数组中获取distict值》经验,为你挑选了1个好方法。

我有一个下面定义的数组类型 -

TYPE INPUT_ARRAY_NUM IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;

我已将上述类型的变量定义为 -

temp INPUT_ARRAY_NUM;

用以下值填充它们 -

temp(0) := 1;
temp(1) := 1;
temp(2) := 3;

如何获得不同的值(1,3)?



1> Lalit Kumar ..:

您可以使用NESTED TABLE并使用MULTISET操作.

DISTINCT在关键字MULTISET操作删除了重复的从集合.

例如,

SQL> SET SERVEROUTPUT ON
SQL> DECLARE
  2    TYPE t_tab IS TABLE OF NUMBER;
  3    l_tab1 t_tab := t_tab(1,1,3,3,5,5);
  4  BEGIN
  5    l_tab1 := l_tab1 MULTISET INTERSECT DISTINCT l_tab1;
  6    FOR i IN l_tab1.first .. l_tab1.last
  7    LOOP
  8      DBMS_OUTPUT.put_line('Distinct values are '||l_tab1(i));
  9    END LOOP;
 10  END;
 11  /
Distinct values are 1
Distinct values are 3
Distinct values are 5

PL/SQL procedure successfully completed.

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有