2

我需要一个返回结果集的 Oracle 存储过程的简单示例。我没有找到如何将结果集返回到 SQL Server。我现在拥有的是:

在甲骨文上:

CREATE OR REPLACE PROCEDURE sp_sessions (cursorParam OUT SYS_REFCURSOR)
IS
BEGIN
OPEN cursorParam FOR select * from v$session;
END;
/

在 sql plus 上运行:

variable rc refcursor;
exec OR_WebI_SmartLinkMetrics( :rc );
print rc;

在 SQL Server 上,它应该类似于:

SELECT * FROM OPENQUERY(LocalOracle, '{CALL sp_sessions(......)');

这可能吗?我在考虑使用临时表?

4

1 回答 1

0

根据http://msdn.microsoft.com/en-us/library/ms188427.aspx不能使用 OPENQUERY 调用存储过程,必须使用四部分名称,例如...

EXEC SeattleSales.master.dbo.xp_msver
于 2013-12-05T22:06:38.943 回答