在我的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
你是如何实现这一目标的?
答案 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;