gpt4 book ai didi

Oracle 从类型为 number 的数组中获取不同的值

转载 作者:行者123 更新时间:2023-12-04 23:18:26 27 4
gpt4 key购买 nike

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

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) ?

最佳答案

您可以使用 嵌套 table 并使用 MULTISET手术。

区别 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.

关于Oracle 从类型为 number 的数组中获取不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34153759/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com