複数の列の値を複数の変数に入れる必要があるというユニークなシナリオがあります。私が直面している問題は、1 つの列の値が存在している間、他の値が存在する必要がないため、DATA NOT FOUND 例外が発生し、それを抑制して残りの変数に空の値を入れたいということです。
select nvl(A,''), nvl(B,''), nvl(C,'')
into A1, B1, C1
from SAMPLE_TABLE
where name ='W6';
テーブル内の A の値は「hello」、B の値は null、C の値はテーブル内の null です。
ステートメントがストアド プロシージャの本体内で実行される場合、DATA NOT FOUND Exception は必要ありません。代わりに、A1 の値を 'hello'、B1 を ''、C1 を '' にする必要があります。これを動的に実行し、where 条件が変化し続けるため、これらの多くのカーソルも開きたくありません。どうすれば同じことを達成できるか教えてください。