2016-08-04 62 views
0

我想創建一個函數,它將在varray中接受多個參數並返回該varray的最大值,就像oracle中的greatest()函數一樣。參數可能包含所有數字或文本。我正在考慮使用varray的數字或文本類型,但不知道如何在函數定義中正確聲明它們以及如何訪問它上面的所有元素以找出最大的元素。如何使用varray在oracle函數中接收多個參數

我知道最大()函數默認情況下是可用的,但我希望它作爲用戶定義的函數,比如說,great_wrapper()。任何關於如何使用此varray接受參數並處理它們的信息都將有所幫助。由於

+0

注意'varray'類型只有當你需要'limit'子句時纔有用,否則嵌套表集合類型('數字表格等等)通常更靈活並且具有更多特徵。 –

回答

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. 
相關問題