oracle - 调用Oracle APEX过程

标签 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: Query must begin with SELECT or WITH

但是,可以使用过程作为源,如下所述: Calling procedure in oracle apex

最佳答案

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

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

关于oracle - 调用Oracle APEX过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32539319/

相关文章:

sql - 甲骨文合并

当系统处于 TimeZone C 时,SQL 将 TimeStamp 列的 TimeZone 从 A 转换为 B

oracle - 如何翻译 Apex 中的默认错误消息?

oracle-apex - 构建一个提取 APP_USER ID 的 APEX URL

Oracle:到日期/时间的纪元毫秒,包括时区

php - 在 Oracle 和 PHP 中使用 Unicode

sql - 在要运行多次的 Oracle PL/SQL 脚本中,是否需要清除集合?

sql - Oracle APEX 主详细信息页面创建 : ORA-06531 error

oracle - "Alter session"通过计划作业上的登录触发器

javascript - 如何防止 APEX 中的 session 过期?