カーソルを開く前に3つのIf/Thenステートメントを持つ関数があります。If / Thenステートメントは、カーソルを開く前に有効性をチェックします。
If / Thenの妥当性チェックをもう1つ追加したいのですが、他のチェックよりも少し複雑です。以下はサンプルであり、私が追加したいものをブロックコメントしました:
begin
if not procedure.validation_function (<variable>, <condition>=TRUE) then
return variable2;
end if;
/* if not exists
(
SELECT 'x' FROM table1
WHERE table1_id = variable1_id
AND trunc(sysdate) < trunc(table1_date + 60)
) then
return variable2;
end if; */
open cursor(<argument>);
fetch cursor into <variable>;
close cursor;
return <variable>;
end;
私の問題は、私がT-SQLの世界から来ており、PL/SQLで存在しない場合のコマンドが機能しないことを発見していることです。関数内から、SELECTを利用するIf NO_DATA_FOUNDステートメントを作成する方法はありますか?
その中に別の関数をネストする方法はありますか?
begin
SELECT ....
FROM ....
WHERE ....
if NO_DATA_FOUND then
return variable2;
end if;
end;