通过'选择双重'作为java可调用语句的参数

时间:2015-05-05 09:52:58

标签: java oracle callable-statement

我试图将SELECT FROM DUAL作为参数传递给java中的callable语句,例如:

{?=call function1( ?, (select function2(?) from dual), ?)}

当我调用此函数时,我得到异常: ORA-06550:第1行,第165列:PLS-00103:遇到符号" SELECT"当期待下列之一:( - + case mod new not null others ...

当我将函数调用为{?=call function1( ?, ?, ?)}时,它工作正常,但我需要将另一个函数作为参数调用(例如密码加密)。

有没有办法将一个函数作为参数调用到另一个函数?

1 个答案:

答案 0 :(得分:1)

怎么样

BEGIN function1( ?,function2(?), ?) END;

{?=call function1( ?, function2(?), ?)}

您无需拨打双重电话。以防万一,您可以随时使用PL / SQL。易于使用和维护。

Oracle Docs

Returning data from anonymous PL/SQL block - 包含一些有关JDBC中PL / SQL用法的有用代码片段。

相关问题