Oracle APEX使用按钮来更改报告源sql

时间:2016-12-22 00:05:29

标签: oracle oracle-apex oracle-apex-5

在我的Oracle APEX应用程序的报告页面上,报告源由sql和

定义
SELECT VALUE1, VALUE2, VALUE3 ... FROM TABLE1

当用户单击按钮时,例如,按钮'排序',我想将JOIN,WHERE和ORDER BY子句添加到报告源sql。

按钮点击事件后的新报告源应为

SELECT VALUE1, VALUE2, VALUE3 ... FROM TABLE1 
JOIN TABLE2 WHERE ID='123' ORDER BY VALUE2 ASC

你是如何实现这一目标的?

1 个答案:

答案 0 :(得分:1)

如果只需要更改过滤,排序,可见列列表等,请使用“交互式报表”功能。如果你真的想要改变查询文本,请选择" PL / SQL函数返回SQL查询"作为报表实现类型并创建一些代码

DECLARE
  l_col_list  VARCHAR2(4000);
  l_join      VARCHAR2(4000);
  l_where     VARCHAR2(4000);
BEGIN
  l_col_List := ....;
  l_join := ....;
  l_where := ....;
  RETURN 'SELECT ' || l_col_list || ' FROM ' || l_join || ' WHERE ' || l_where;
END;

enter image description here

示例页面:apex.oracle.com/pls/apex/f?p=54028:5