2016-08-04 10 views
0

VARRAYで複数の引数をとり、そのVARRAYの最大値を返す関数を作成したいと思います。引数にはすべての数値またはテキストを含めることができます。私は数値やテキスト型のVARRAYを使うことを考えていますが、関数定義でそれらを正しく宣言する方法と、その上のすべての要素にアクセスして最大のものを見つける方法はわかりません。oracle関数で複数の引数を受け取るためにVARRAYを使用する方法

私はgreat()関数がデフォルトで利用可能であることを知っていますが、私はそれをユーザー定義関数、たとえば、maximum_wrapper()として使いたいと思います。どのように私はこのVARRAYを引数を受け入れて処理するのに役立つのでしょうか。おかげ

+0

注 'varray'タイプということ'limit'句が必要な場合にのみ便利です。それ以外の場合、ネストしたテーブルのコレクションタイプ(' table of number'など)は一般に柔軟性があり、より多くの機能を備えています。 –

答えて

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. 
関連する問題