Search code examples
javaresultsetproceduredatabase-metadata

Method to get only procedures from an oracle database using Java


I need to get only the procedures using java DatabaseMetaData but this method returns also the functions' names.

DatabaseMetaData dbmd=con.getMetaData();
ResultSet result = dbmd.getProcedures(null, Ousername, null); 

Solution

  • That happens because procedures and functions are basically the same in Oracle.

    There is a column PROCEDURE_TYPE of the type short that will show the kind of procedure:

    • 1 means there is no result, so it is a procedure.
    • 2 means it returns a result, so it is a function.

    You can access that column as usual from the ResultSet:

    result.getShort("PROCEDURE_TYPE")