This is because the procedures and functions in Oracle are the same.
There is a PROCEDURE_TYPE column of type short , which will show the type of procedure:
1 means that there is no result, so this is a procedure.2 means that it returns a result, so it is a function.
You can access this column, as usual, from a ResultSet :
result.getShort("PROCEDURE_TYPE")
source share