特定のテーブルにレコードを挿入し、関数内で発生する内容に応じて出力を返す関数をOracleで作成しました。例(ins_rec戻り番号)
この関数を呼び出してその出力をsql plusで見るにはどうすればよいですか
declare
x number;
begin
x := myfunc(myargs);
end;
代わりに:
select myfunc(myargs) from dual;
1つのオプションは次のとおりです。
SET SERVEROUTPUT ON
EXEC DBMS_OUTPUT.PUT_LINE(your_fn_name(your_fn_arguments));
別の回答で既に述べたように、select myfunc(:y) from dual;
を呼び出しますが、sqlplusで変数を宣言して設定するのは少し難しいかもしれません。
sql> var y number
sql> begin
2 select 7 into :y from dual;
3 end;
4 /
PL/SQL procedure successfully completed.
sql> print :y
Y
----------
7
sql> select myfunc(:y) from dual;