【发布时间】:2016-08-04 14:27:54
【问题描述】:
我有一个名为 IP_ELEARN_PERSON.F_GET_PERSON(int, string, array) 的 SQL 函数。
现在我想直接从 sql developer 运行这个函数,我正在尝试像这样执行这个函数 --
select IP_ELEARN_PERSON.F_GET_PERSON(32433,'SOURCED',('ALL')) from dual;
现在的问题是,当我尝试执行此功能时,我收到以下错误 -
ORA-06553: PLS-306: wrong number or types of arguments in call to 'F_GET_PERSON'
06553. 00000 - "PLS-%s: %s"
*Cause:
*Action:
Error at Line: 3 Column: 8
我们是通过使用 CallableStatment 的 setArray 方法从 java 调用这个函数的——
cstmt.setArray(4, new ObtainSqlArrayFromJava().returnSqlArray(
underlyingConn, roles));
所以我的疑问是,我过去在查询中提到数组的方式对吗?
我浏览了许多 Stack Overflow 帖子,但没有为数组写任何东西作为参数。
【问题讨论】:
标签: java sql database oracle plsql