呼叫程序Oracle顶点

时间:2015-09-12 13:21:35

标签: oracle oracle-apex

我已经创建了一个PL / SQL过程,如:https://dba.stackexchange.com/questions/45016/dynamic-oracle-pivot-in-clause

现在我想将该程序用作报告的来源。我正在使用Oracle Apex 4.0。

当我这样写时:

Declare
   x refcursor;
begin
   dynamic_pivot(x);
end;

发生以下错误:

  

ORA-20001:查询必须以SELECT或WITH

开头

但是,可以使用过程作为此处描述的源: Calling procedure in oracle apex

2 个答案:

答案 0 :(得分:1)

您不能将PL / SQL过程用作交互式报告的来源。 您可以做的是创建一个在SELECT查询中使用的函数。 E.g:

SELECT * FROM TABLE YOUR_FUNCTION(PARM1,PARM2);

定义可能如下所示:

create or replace function your_function ( PARM1 in integer, PARM2 in integer ) return holiday_tab pipelined as v_easter_day date; begin ... end;

有关流水线的更多信息,请查看: http://docs.oracle.com/cd/B28359_01/appdev.111/b28425/pipe_paral_tbl.htm#CHDJEGHC

答案 1 :(得分:0)

首先,您需要选择区域类型的PL / SQL动态内容。 然后调用数据库过程-

declare
   vname number;
begin
   R_MENU(vname );
end;
相关问题