DML を含まない Oracle ストアド関数の戻り値を選択するには、関数を選択するだけです。
select function_name() from dual;
関数に DML が含まれている場合 (この場合、関数に渡された引数をログに記録するためのいくつかの挿入)、上記のクエリは許可されません。(ORA-14551)
この関数の戻り値を選択/表示するにはどうすればよいですか?
plsql 開発者で「テスト」を選択すると、plsqldev は次のようなものを生成します。
declare
-- Non-scalar parameters require additional processing
result xmltype;
begin
-- Call the function
result := find_person(as_surname => :as_surname,
as_given => :as_given,
ad_birth_date_from => :ad_birth_date_from,
ad_birth_date_to => :ad_birth_date_to,
as_gender => :as_gender);
end;
「結果」変数の値を表示するにはどうすればよいですか?
select result from dual;
開始/終了ブロック内で生成されます
ORA-06550: PLS-00428: an INTO clause is expected in this SELECT statement