是否可以获得在数据库包中声明的常量值? (SQL或Java)

我在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();
}

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...