在 Oracle APEX 中使用静态分配的应用程序项作为 SQL
Using a statically assigned application item as SQL in Oracle APEX
在我的 Oracle Apex 19.3 应用程序中,我有一个 SQL 语句需要在多个页面上使用,并且会根据登录的用户略有变化。这样我就不需要复制这段代码在每个页面上一遍又一遍地生成此语句作为一个应用程序项,名为:QUERY_BASED_ON_USER
.
应用程序计算然后将其静态设置为 SELECT j.* FROM table(pkg_jobstatus.report()) j WHERE j.id IN (:USERIDS)
(USERIDS 是一个单独的应用程序项)
我希望将应用程序项 QUERY_BASED_ON_USER
用作 table 的 sql 语句。将数据源设置为PL/SQL并使用以下代码时,
BEGIN
return :QUERY_BASED_ON_USER;
END;
我收到此错误:PL/SQL function body did not return a value.
我尝试通过将静态页面区域设置为:&QUERY_BASED_ON_USER.
来调试它并正确输出查询。
我的假设是代码编辑器不评估应用程序计算,因此它 returns 一个空字符串,然后拒绝验证或保存。但我不知道如何验证这一点或如何解决这个问题。
如何使用申请项目作为sql声明?
您需要将“使用通用列名”设置为 true,并指定您的查询将要使用的列数 return:
然后直到运行时项目值可用时才解析查询。
在我的 Oracle Apex 19.3 应用程序中,我有一个 SQL 语句需要在多个页面上使用,并且会根据登录的用户略有变化。这样我就不需要复制这段代码在每个页面上一遍又一遍地生成此语句作为一个应用程序项,名为:QUERY_BASED_ON_USER
.
应用程序计算然后将其静态设置为 SELECT j.* FROM table(pkg_jobstatus.report()) j WHERE j.id IN (:USERIDS)
(USERIDS 是一个单独的应用程序项)
我希望将应用程序项 QUERY_BASED_ON_USER
用作 table 的 sql 语句。将数据源设置为PL/SQL并使用以下代码时,
BEGIN
return :QUERY_BASED_ON_USER;
END;
我收到此错误:PL/SQL function body did not return a value.
我尝试通过将静态页面区域设置为:&QUERY_BASED_ON_USER.
来调试它并正确输出查询。
我的假设是代码编辑器不评估应用程序计算,因此它 returns 一个空字符串,然后拒绝验证或保存。但我不知道如何验证这一点或如何解决这个问题。
如何使用申请项目作为sql声明?
您需要将“使用通用列名”设置为 true,并指定您的查询将要使用的列数 return:
然后直到运行时项目值可用时才解析查询。