ストアドプロシージャから数値のリストを返そうとしています。例外が発生すると、私のストアドプロシージャはforループで停止します。私は例外句を追加し、制御はループを継続するために例外句の中に入っていますが、まだ運はありません。Oracleストアドプロシージャで例外後にループを続行できません
例外が発生した場合にループを続行するにはどうすればよいですか?ありがとう。
CREATE OR REPLACE PROCEDURE getNumber(l_list IN CUSTOMLIST, l_output OUT NUMLIST)
IS
n_num varchar2(5);
BEGIN
l_output := NUMLIST();
FOR i IN l_list.FIRST .. l_list.LAST LOOP
l_output.EXTEND(l_list.LAST);
BEGIN
SELECT NUM into n_num
FROM sometable WHERE some condition;
l_output(i) := n_num;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('TRUE');
CONTINUE;
END;
END LOOP;
END;
l_listを確認してみてください.1つの値しかないかもしれません。 –
には3つのアイテムがあります。最初と3回目は真、2回目は偽です。 – user2836364