Oracle 11gがバックエンドデータベースであるシステムで作業しています。 私はデータベースに対して非常に制限された権限しか持っていないので、私ができることはパッケージにあるプロシージャを呼び出すことだけです。Oracle 11g - sys_refcursor
これらのプロシージャは、結果セットをsys_refcursor型のOUTパラメータを介して返します。
C#で問題なくコールし、C#OracleDataset型を使用してカーソルからデータを取得できます。
ここは私の質問です。 これらのプロシージャを実行し、SQL Developerを介して結果を確認したいと考えています。 私はプロシージャを正常に実行することができますが、sys_refcursorのOUTパラメータの内容が私に不安を与えています。
私はいくつかのすごいやり方をしていて、タイプやその他のソリューションを作成するという人たちには、私は単に納得する権限がありません。
したがって、sys_refcursorに含まれる結果セットをどのように見ることができますか? は、だから私はどのように私はl_result_Setの内容を見ることができます
DECLARE
l_ref VARCHAR2(10);
l_result_set sys_refcursor;
BEGIN
oracle_pkg.an_oracle_Proc(p_ref => l_ref,
p_result_set => l_result_set);
--How to select from l_result_set with limited permissions
END
....このようにそれを呼び出す
procedure an_oracle_Proc(p_ref IN varchar2,
p_result_set OUT sys_refcursor);
....私はこのシグネチャを持つプロシージャを持っていると言いますか?
あなたは[このような]を意味します(http://stackoverflow.com/a/8618084/266304)? PL/SQLのカーソル行をループしたいのですか? –
印刷はSQL Developerでは使用できません。( さらに、実際に実行するまで、どの列が返されるかは実際には分かりませんが、私は知っていますが、その許可のことを知っています。 暗闇の中で符号化 – AntDC
印刷はSQL Developerで完全に利用可能で、スクリプト出力ウィンドウに印刷されます(バージョン3以上、DBに付属している1.xバージョンについてはわかりませんが、回答はそれ以降のバージョンにのみ適用されます)。その答えは特にSQL Developerに関するものでした。リンクした記事にも言及されていますが、Jeffは出力ウィンドウの使用を好むようです。 –