G-7420: Always make the RETURN statement the last statement of your function.
Major
Maintainability
Reason
The reader expects the return
statement to be the last statement of a function.
Example (bad)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | create or replace package body my_package is function my_function (in_from in pls_integer , in_to in pls_integer) return pls_integer is l_ret pls_integer; begin l_ret := in_from; <<for_loop>> for i in in_from .. in_to loop l_ret := l_ret + i; if i = in_to then return l_ret; end if; end loop for_loop; end my_function; end my_package; / |
Example (good)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | create or replace package body my_package is function my_function (in_from in pls_integer , in_to in pls_integer) return pls_integer is l_ret pls_integer; begin l_ret := in_from; <<for_loop>> for i in in_from .. in_to loop l_ret := l_ret + i; end loop for_loop; return l_ret; end my_function; end my_package; / |