将'select from dual'作为参数传递给java可调用语句
Posted
技术标签:
【中文标题】将\'select from dual\'作为参数传递给java可调用语句【英文标题】:Passing 'select from dual' as parameter to java callable statement将'select from dual'作为参数传递给java可调用语句 【发布时间】:2015-05-05 09:52:58 【问题描述】:我正在尝试将 SELECT FROM DUAL
作为参数传递给 java 中的可调用语句,例如:
?=call function1( ?, (select function2(?) from dual), ?)
当我调用这个函数时,我得到了异常:ORA-06550:第 1 行,第 165 列:PLS-00103:在期望以下之一时遇到符号“SELECT”:( - + case mod new not null其他...
当我以?=call function1( ?, ?, ?)
调用函数时,它工作正常,但我需要调用另一个函数作为参数(例如密码加密)。
有没有办法将一个函数作为另一个函数的参数调用?
【问题讨论】:
【参考方案1】:怎么样
BEGIN function1( ?,function2(?), ?) END;
或
?=call function1( ?, function2(?), ?)
您无需调用 dual。以防万一,您始终可以使用 PL/SQL 本身。易于使用和维护。
Oracle Docs
Returning data from anonymous PL/SQL block - 包含一些关于 JDBC 中 PL/SQL 使用的有用代码 sn-ps。
【讨论】:
工作了,没想到 :) 非常感谢以上是关于将'select from dual'作为参数传递给java可调用语句的主要内容,如果未能解决你的问题,请参考以下文章
SELECT 1 FROM DUAL ,未找到要求的 FROM 关键字
在插入多行时,语句“select 1 from dual”的作用是啥?
ORA-00904 在 DATE 列上使用“MERGE INTO”和“SELECT FROM dual”时出现“无效标识符”错误