【发布时间】:2014-01-09 22:24:18
【问题描述】:
我想使用 Oracle 直接连接从水晶报表命令对象调用存储过程。存储过程需要一个 refcursor 和一些可以从报告中传递的参数,但我不确定语法应该是什么样子。
为简单起见,请随意假装存储过程只需要一个 refcursor 而没有别的。语法应该是什么样的?我假设我需要声明 refcursor,调用 SP,然后返回光标。
不过,我对这些东西很陌生,而且我实际上不确定如何返回光标。我认为第一位看起来像:
VARIABLE Cursor refcursor
declare
begin
MYSTOREDPROCEDURE(:Cursor);
end;
/
我不确定如何返回光标以供 Crystal Reports 使用 (2008/2011)。我希望这是足够的信息。
【问题讨论】:
-
请不要对 Crystal Reports 使用存储过程。它的性能可能不会比“常规”查询更好,但维护工作显着更高。在我使用 Crystal Reports 的 18 年中,我从来不需要使用任何一种报告——而且我见过很多报告。
-
实际上,具有更模块化的存储过程似乎比 1000+ 行命令对象更易于维护。长话短说,这是我需要以一种或另一种方式做的事情。
标签: sql oracle stored-procedures crystal-reports