运行时解析的带有PL / SQL的Oracle Apex卡片视图

时间:2015-12-22 11:32:32

标签: oracle plsql oracle-apex

我正在尝试使用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;

如下所示:

enter image description here

我有什么想法可以让它发挥作用吗?

1 个答案:

答案 0 :(得分:1)

正如Tony Andrews所指出的,我可以复制和编辑模板,将值设置为#COL1##COL2# ......