質問

私はオラクルで以下のクエリを書いています:

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例外が発生する場合があります。

ところで、コード全体はどこにありますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top