【问题标题】:Accessing report output table in Oracle APEX在 Oracle APEX 中访问报表输出表
【发布时间】:2020-06-09 16:29:21
【问题描述】:

我编写了一个 SQL 查询以在 APEX 中返回一个交互式报告,我想在同一页面上创建另一个(经典)报告来总结该报告.报告给出了测试结果,我想按年级总结(所以 x # of As,y Bs 等)

这是一个复杂的查询,需要一段时间才能运行,所以我想避免再次运行它并使用聚合函数。

APEX 是否将该报告存储在一个变量或表中,就像它存储我可以运行查询的变量(类似于 :TABLE_NAME)一样?我无法在文档或搜索中找到任何相关内容。

谢谢!

【问题讨论】:

    标签: oracle oracle-apex


    【解决方案1】:

    一种选择是

    • 输入用于过滤该复杂查询中的数据的参数
    • 与其直接运行报表,不如在其上创建一个按钮和一个进程
    • 该进程应该将结果插入到您当然必须创建的全局临时表 (GTT) 中
      • 为什么?因为它可以被多个用户共享,而每个人只能看到自己的数据
    • 交互式报告将从 GTT 获取并显示数据
    • 经典报告将汇总来自 GTT 的数据

    【讨论】:

    • 谢谢!我根本没有使用过 GTT,而且对 APEX 还很陌生,但是关于 APEX 中 GTT 的线程上的其他一些 cmets 建议改用 APEX 集合。你对两者有什么看法?
    • 不客气。在我看来,表格更易于使用。
    • 我会选择收藏——这样更强大。使用 GTT,您仅限于数据库会话。 Apex 是无状态的,因此它不能保证您始终拥有相同的数据库会话。您冒着用户保持打开页面并在 15 分钟后部分刷新页面的风险。那时你很可能会得到一个不同的数据库会话并且你的 GTT 数据已经消失了。
    • 对;很有道理,@Koen。
    • 感谢您的想法,@KoenLostrie!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-05
    • 2011-03-09
    • 2020-12-19
    相关资源
    最近更新 更多