2011-05-07 6 views
1

私はplsql関数を作成しました。私はカーソルを作成し、関数からこのカーソルを戻したいと思います。次に、Javaクラスでこの関数を呼び出して、カーソルからデータを取得します。注:カーソルは1行を戻します。 は、私は、カーソルを返すようにしたい場合、私はどのような戻り値の型を使用する必要があり,,plsql関数からカーソルを作成して返すにはどうすればよいですか?

CREATE OR REPLACE 
FUNCTION FUNCTION1 (emp_id IN NUMBER)RETURN cursor AS 

    cursor newCursor(e_id number) is 
    select * from table1 where employee_id = e_id;   
    type refCursor is ref cursor; 

    BEGIN 

    open newCursor(emp_id);  
    loop 
    exit when newCursor%notfound; 
    fetch newCursor into refCursor; 
    end loop; 
    RETURN refCursor; 

END FUNCTION1; 

をこのような何かを書きましたか?

答えて

7

create or replace function getemps return sys_refcursor is 
v_curs sys_refcursor; 
begin 
open v_curs for select ename from emp; 
return v_curs; 
end; 
/
+0

は非常に – sahar

+0

ありがとうOracleの一般的な暗黙カーソルで動作します次の関数の後にモデルに、 どうやってやるの?? – sahar

+0

パッケージのやり方は? –

0

SYS_REFCURSORが、私はこのケースでは、カーソルにパラメータを渡す場合 使用EXPLICITEカーソルの代わりに

関連する問題