返回结果集的Oracle存储过程

返回结果集的Oracle存储过程,oracle,plsql,oracle11g,Oracle,Plsql,Oracle11g,我是Oracle的新手,我需要编写一个存储过程来返回结果集。将使用链接服务器从SQL Server调用存储过程。 我知道我可以使用ref游标从PL/sqlserver返回resultset,但我也看到存储过程返回某种数组(例如声明为数字表),然后将其与结果一起返回。 哪种方法是正确的?在Oracle论坛上进行了一些调查并进行了我自己的测试之后。。。 Ref游标是合适的方式。 使用oracle oledb提供程序,关联阵列将无法正常工作。我假定您将从Java调用您的过程。在这种情况下,过程将直接从

我是Oracle的新手,我需要编写一个存储过程来返回结果集。将使用链接服务器从SQL Server调用存储过程。 我知道我可以使用ref游标从PL/sqlserver返回resultset,但我也看到存储过程返回某种数组(例如声明为数字表),然后将其与结果一起返回。
哪种方法是正确的?

在Oracle论坛上进行了一些调查并进行了我自己的测试之后。。。 Ref游标是合适的方式。
使用oracle oledb提供程序,关联阵列将无法正常工作。

我假定您将从Java调用您的过程。在这种情况下,过程将直接从Oracle或通过SQL Server调用?该过程将使用链接服务器从SQL Server调用。请记住,如果查询跨越Oracle Server上的db链接,则不能返回ref游标。这两个限制加在一起是非常痛苦的。好吧,它将通过SQL server中的链接服务器实现,但直接从Oracle进行,我已经对它进行了测试,并且确实有效。抱歉,我不是非常清楚,如果您在Oracle中加入或查询数据库链接,则无法返回ref游标。