質問
私はオラクルで以下のクエリを書いています:
DBMS_OUTPUT ..... 'Ashish'
tab_1からcol1をval1に選択します
DBMS_OUTPUT ..... 'Ubale'
このプロシージャを実行すると、「Ashish」として出力されます。なんで? また、v_val1変数の値はどうなりますか
注:テーブルにはレコードが含まれていません
解決
テーブルは空なので、「select into」ステートメントはNO_DATA_FOUND例外を発生させます。そのため、2番目のメッセージが表示されません。 val1は、選択前と同じ値になります。つまり、以前に値を割り当てていない場合はnullです。
NO_DATA_FOUND例外を受け取ったことを知らないという事実は、PL / SQL開発者がこれまでに犯した最大のエラーの1つを犯したことを示唆しています。
EXCEPTION
-- Never do this in real code!!!
WHEN OTHERS THEN NULL;
END;
他のヒント
エラーが発生しましたか?テーブルに行がない場合。 no_data_found例外が発生する場合があります。
ところで、コード全体はどこにありますか?
所属していません StackOverflow