2012-02-23 11 views
0

フロントエンドのドロップダウン・リスト・ボックスを埋めるために複数のFROM ORACLE FUNCTIONを戻し、値はパッケージのデータベース定数です。提案は歓迎され、私はできるだけ早く助けを必要とOracle関数から複数の値を戻す

return varchar2 
IS 

BEGIN 

return pr_package.constant1_string; 

return pr_package.constant2_string; 

    end; 

私はこの機能を試してみました。 ありがとうございます。

答えて

1

関数から複数のリターンを持つことはできません。

関数からコレクションを返すことができます。何かのように

CREATE TYPE string_array 
    IS TABLE OF VARCHAR2(100); 

CREATE OR REPLACE FUNCTION return_string_array 
    RETURN string_array 
IS 
    l_string_array string_array := new string_array(pr_package.constant1_string, 
                pr_package.constant2_string); 
BEGIN 
    RETURN l_string_array; 
END; 

また、パイプラインテーブル機能を作成することもできます。同じタイプを使用すると、複数の行をパイプすることができます。

1 create or replace function pipeline_test 
    2 return string_array 
    3 pipelined 
    4 is 
    5 begin 
    6 pipe row('Foo'); 
    7 pipe row('Bar'); 
    8 return; 
    9* end; 
SQL>/

Function created. 

SQL> select * from table(pipeline_test); 

COLUMN_VALUE 
-------------------------------------------------------------------------------- 
Foo 
Bar