【发布时间】:2015-12-22 11:32:31
【问题描述】:
我正在尝试让卡片报告视图与 Oracle Apex 一起使用,但由于 this SO question 中提到的一个错误,我正在尝试使用在运行时解析的查询。
为查询选择了“使用通用列名(仅在运行时解析查询)”。
不幸的是,卡片视图需要正确的列标题才能工作。这是我的代码:
DECLARE
l_query VARCHAR2(4000);
l_app number := v('APP_ID');
l_session number := v('APP_SESSION');
--Bug happens on the ':11:' part, page 1 works fine
l_url VARCHAR2(500) := (APEX_UTIL.PREPARE_URL(
p_url => 'f?p=' || l_app || ':11:' || l_session || '::NO:::'
));
BEGIN
l_query:=
'SELECT
post_id,
user_id as "CARD_SUBTEXT",
image as "CARD_IMAGE",
title as "CARD_TITLE",
''' || l_url || ''' as "CARD_LINK",
text as "CARD_TEXT"
FROM posts';
IF v('P1_TEXT_SEARCH') IS NOT NULL THEN
l_query := l_query||' '||'
WHERE
(
CONTAINS(title, ''$' || :P10_TEXT_SEARCH || ''') > 0
) OR
(
CONTAINS(text, ''$' || :P10_TEXT_SEARCH || ''') > 0
)
';
END IF;
htp.p(l_query);
RETURN l_query;
END;
如下所示:
有什么想法可以让它发挥作用吗?
【问题讨论】:
-
为什么要使用通用列名选项?
-
因为this bug
-
在这种情况下,您可以复制卡片报告模板,并将新模板中的列引用
#CARD_TEXT#等更改为#COL01#等? -
谢谢,这似乎是正确的方向。但是,我复制了卡片报告模板,然后对其进行了编辑(我无法编辑主模板)。现在它在报告中出现“未找到数据”。也许需要另一个 SO 问题
-
没关系,快到了!谢谢
标签: oracle plsql oracle-apex