NO_DATA_FOUND exception not thrown when used in SELECT INTO
问题 I noticed strange behaviour of NO_DATA_FOUND exception when thrown from function used in PLSQL. Long story short - it does propagate from function when using assignment, and does not propagate (or is handled silently somewhere in between) when used in SELECT INTO . So, given function test_me throwing NO_DATA_FOUND exception, when invoked as: v_x := test_me(p_pk); It throws an exception, while when invoked as: SELECT test_me(p_pk) INTO v_x FROM dual; it does not throw exception. This does not