gpt4 book ai didi

java - 如何从java调用PLSQL函数

转载 作者:行者123 更新时间:2023-11-30 02:50:04 25 4
gpt4 key购买 nike

我有一个 PLSQL 函数。 PKG_GAS_KT.GET_DEPTINFO('{UserID}') 此函数返回用户所在部门的名称。

现在,我有一个 java 中的 UserID 列表。如何传递所有 UserId 并获取相应用户的部门。有什么方法可以做到这一点,而不将其放入 for 循环中并对数据库进行不必要的调用。另外:

    CallableStatement  callSt = con.prepareCall("{?= call PKG_GAS_KT.GET_DEPTINFO(?)}");`// Is this correct way to call my PLSQL function?
callSt.setInt(1,101);
callSt.registerOutParameter(2, Types.STRING);
callSt.execute();
Double output = callSt.getString(2);

感谢任何指导。 我无法更改 PLSQL 函数中的任何内容。

最佳答案

最好更改您的 PL/SQL 函数。但是,如果您确实需要拼凑,您可以尝试以下操作:

从 Java 发出以下语句作为 JDBC 查询:

select ids.column_value id, 
pkg_gas_gt.get_deptinfo(ids.column_value) deptinfo
from TABLE(SYSTEM.NUMBER_TBL_TYPE( ? ) ) ids;

... 其中 ? 是您的参数,也是您要传入的用户 ID 的 JDBC 数组。

查询的结果集将是每个 ID 以及函数的结果。该函数需要可从 SQL 调用才能正常工作。但大多数都是。

关于java - 如何从java调用PLSQL函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38981752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com