我在Oracle数据库中有一些包.它们包含存储过程,函数和常量.我可以使用
Java CallableStatement在Java中调用函数.另外,我可以执行一个sql语句作为“select package1.function1(value1)from dual;”.但我无法找到如何在Java中获取包中声明的常量的值.
例如:
PACKAGE Package1 AS A_CONSTANT CONSTANT VARCHAR2 := 'Constant value'; END Package1;
谢谢.
解决方法
您可以尝试在CallableStatement中使用匿名PL / sql块:
String constantValue; CallableStatement statement = connection.prepareCall("BEGIN ? := Package1.A_CONSTANT; END;"); try { statement.registerOutParameter(1,Types.VARCHAR); statement.execute(); constantValue = statement.getString(1); } finally { statement.close(); }