Toadで関数の戻り値を知るにはどうすればよいですか?
私はこのコードのようなものを実行しています:
declare r number;
begin
r:= packagename.functionname(paraname);
end;
「r」をデータグリッドに戻す方法がわかりません。DBMS出力の使用を提案する投稿もありますが、コードを実行しても何も書き込まれません。
この関数は、更新を実行し、コミットし、他の関数を呼び出し、カーソルを含みます。
begin
dbms_output.put_line(packagename.functionname(paraname));
end;
これを実行する前に、出力をオンにする必要があります。これを行うには、エディターの下部にある [DBMS 出力] タブを選択し、タブの下の一番左のボタンをクリックします (赤い円が表示され、ツールチップの [出力をオンにする] が表示されます (緑色の円の場合、出力すでにオンになっています))。
クエリの結果は、「データ グリッド」ではなく、「DBMS 出力」ウィンドウに書き込まれます (ポーリングが結果を取得するまで数秒待つ必要がある場合があります)。ユーザー定義型または ref カーソルを使用する場合、これでは不十分であり、結果を書き出す前に匿名ブロックで結果を処理する必要があります。
ちょうどどうですか:
select packagename.functionname(paraname) from dual;
のクラウスからの答え
デュアルから packagename.functionname(paraname) を選択します。
私にとってはうまくいきましたが、カーソルしか返されませんでした。これは、Toad のデータ グリッドで (CURSOR) として表示されます。それをダブルクリックすると、そのカーソルのデータ グリッドを含む新しいウィンドウが開き、結果が表示されました。