使用ref cursor作为Java程序的输入调用Oracle DB Function

时间:2013-03-06 08:23:49

标签: java database function input cursor

我第一次面临这一技术挑战。我在发布此问题之前已经研究了3天,但还没有找到任何解决方案。

我的问题是“从Java程序调用Oracle DB函数(它将引用游标作为输入参数)”。在我的研究中,我发现很多样本Java代码从DB函数/存储过程中读取返回的引用游标,但是我没有找到任何示例代码来将引用光标输入到DB函数。

以下是我的数据库功能

FUNCTION CheckFileStatus (pUserId     NUMBER, pFileList     FileList) RETURN FilesStatus




  CURSOR curFileList IS
    SELECT file_path, file_name
      FROM file_in_transfer
      WHERE file_in_transfer_id = -1;



TYPE FileList IS REF CURSOR RETURN curFileList%ROWTYPE;

有人可以发布一些示例Java代码来调用上面的DB函数吗?

谢谢, SRINIVAS

1 个答案:

答案 0 :(得分:0)

您可以使用OracleCallableStatement并在REF方法上传递setREF(....)类型。

这样做的缺点是你只能将自己绑定到Oracle JDBC库。

对于独立库,请使用CallableStatement,在Ref方法上传递setRef(....)类型。