如何使用varray在oracle函数中接收多个参数

时间:2016-08-04 11:06:31

标签: oracle plsql varray

我想创建一个函数,它将在varray中获取多个参数并返回该varray的最大值,就像oracle中的largest()函数一样。参数可能包含所有数字或文本。我正在考虑使用数字或文本类型的varray,但不知道如何在函数定义中正确声明它们以及如何访问它上面的所有元素以找出最好的元素。

我知道max()函数默认是可用的,但我希望它作为用户定义的函数,比如,great_wrapper()。关于如何使用此varray接受参数并处理它们的任何内容都会有所帮助。谢谢

1 个答案:

答案 0 :(得分:0)

一个好的起点是Oracle documentation

顺便提一下,如何在不定义新功能的情况下如何从集合中获得最大价值:

SQL> create type my_num_type as varray(30) of number
  2  /

Type created.

SQL> select max(column_value) from table(my_num_type(1, 2, 3, 4, 5));

MAX(COLUMN_VALUE)
-----------------
                5

1 row selected.