带有动态 sql 语句的交互式报告
interactive report with dynamic sql statement
我正在尝试在 Apex 中生成交互式报告,其中包含位于页面项目 (:P10_SQL) 中的 SQL-语句,例如:select 1来自 dual.
declare
l_sql VARCHAR2(4000 CHAR);
Begin
select V('P10_SQL') into l_sql from dual;
return l_sql;
End;
报表的类型为 PL/SQL 返回 SQL 查询的函数体。
Apex 显示错误
ORA-20999: WWV_FLOW_EXEC.NULL_QUERY_RETURNED_BY_FUNCTION
有人有想法吗?
Apex 有点 疯狂 因为它并不总是想接受我写的代码(这是完全有效的),说函数不 return任何事物。好吧。
所以我的returns SQL查询的函数是分阶段写的。以下项目符号代表我所做的尝试;他们都很好。最终版本 - 现在运行的版本与 return :P77_SQL;
一样简单(我在第 77
页)
-
return 'select dummy from dual'
-
declare
l_str varchar2(4000);
begin
l_str := case when :P77_SQL is null then 'select dummy from dual'
else :P77_SQL
end;
return l_str;
end;
-
return :P77_SQL;
但是:您不能使用交互式报告,必须是经典报告,因为并非所有作为源的表都具有相同的列名(除非您使用别名并匹配数字和数据类型,这相当复杂)。
但是,如果您使用经典报告,则打开“使用通用列名”并设置所需的通用列数(我将其设置为 10;您会知道在您的情况下该怎么做)。
我的 P77_SQL
文本项在我按 ENTER
时提交页面,这导致报告刷新。
举几个例子:
我正在尝试在 Apex 中生成交互式报告,其中包含位于页面项目 (:P10_SQL) 中的 SQL-语句,例如:select 1来自 dual.
declare
l_sql VARCHAR2(4000 CHAR);
Begin
select V('P10_SQL') into l_sql from dual;
return l_sql;
End;
报表的类型为 PL/SQL 返回 SQL 查询的函数体。 Apex 显示错误 ORA-20999: WWV_FLOW_EXEC.NULL_QUERY_RETURNED_BY_FUNCTION
有人有想法吗?
Apex 有点 疯狂 因为它并不总是想接受我写的代码(这是完全有效的),说函数不 return任何事物。好吧。
所以我的returns SQL查询的函数是分阶段写的。以下项目符号代表我所做的尝试;他们都很好。最终版本 - 现在运行的版本与 return :P77_SQL;
一样简单(我在第 77
页)
-
return 'select dummy from dual'
-
declare l_str varchar2(4000); begin l_str := case when :P77_SQL is null then 'select dummy from dual' else :P77_SQL end; return l_str; end;
-
return :P77_SQL;
但是:您不能使用交互式报告,必须是经典报告,因为并非所有作为源的表都具有相同的列名(除非您使用别名并匹配数字和数据类型,这相当复杂)。
但是,如果您使用经典报告,则打开“使用通用列名”并设置所需的通用列数(我将其设置为 10;您会知道在您的情况下该怎么做)。
我的 P77_SQL
文本项在我按 ENTER
时提交页面,这导致报告刷新。
举几个例子: