web-dev-qa-db-ja.com

Oracle SQL Developerでrefcursorの結果/出力を確認するにはどうすればよいですか?

可能性のある複製:
Oracleパッケージプロシージャから結果を取得する最良の方法/ツール
Oracle SQL Developer:REFCURSORの結果をグリッドに表示しますか?

Oracle SQL Developerは初めてです。 Oracle SQL Developerバージョン3.0を使用しています。次のクエリを使用してSPをテストしようとしました。

DECLARE
  type output_cursor is ref cursor;
  P_CURSOR output_cursor;
BEGIN
  P_CURSOR := NULL;
  myPackage.mySPTest (  P_NOTIFICATION_ID => 1975357,P_CURSOR => P_CURSOR) ;
END;

上記のクエリをOracle SQL Developerで実行すると、「anonymus block completed」というメッセージが表示され、結果が表示されません。

誰でも結果を確認する方法を教えてください。

10
Prabin Yovan

SQL Developerで宣言されたバインド変数を使用して、結果を保持および表示できます:

var r refcursor;
exec myPackage.mySPTest(P_NOTIFICATION_ID => 1975357, P_CURSOR => :r);
print r;

execは無名ブロックの省略形であるため、これは次と同等です。

var r refcursor;
begin
    myPackage.mySPTest(P_NOTIFICATION_ID => 1975357, P_CURSOR => :r);
end;
/
print r;

P_CURSORが役に立たないと宣言されていない限り、おそらく...

22
Alex Poole