アプリケーションがOracleストアド・プロシージャからoracle .netプロバイダに情報を渡す標準的な方法は、out refカーソル・パラメータを使用する方法です。過去にはOracle - ストアドプロシージャのOUT参照カーソルパラメータを持つ方法?
パッケージにあった私たちのストアドプロシージャのすべてとこのようなものだった:今、私は、パッケージの外に、通常の手順ではなく、ドンにそのGET_INFO手順を移動したい
CREATE OR REPLACE PACKAGE test_package IS
TYPE refcur IS REF CURSOR;
PROCEDURE get_info (o_cursor OUT refcur);
END test_package;
/
CREATE OR REPLACE PACKAGE BODY test_package IS
PROCEDURE get_info (o_cursor OUT refcur) AS
BEGIN
OPEN o_cursor FOR
SELECT * FROM v$database;
END get_info;
END test_package;
/
をrefcurタイプを得るために何をすべきかを知っていません。パッケージスコープ外ではどうすれば作成できますか?
refcur IS REF CURSORを作成または置換します。
は機能しません。
? := crsr_test_result行は、Java JDBCアプリケーションがこのsqlのブロックを呼び出して参照カーソルを取得しているためです。私のショートハンドのテクニックは、ストアドプロシージャにロジックを置かずにjavaからpl/sqlで何かを達成したいときです。しかし、ストアドプロシージャと同じように簡単に使用できます。 –
タイプを作成するスコープの外にあるrefcur型のパラメータがある必要があるので、それは考えられません。 –