【发布时间】:2019-04-22 18:33:20
【问题描述】:
我想在我的经典报告中添加搜索,所以我在我的页面上添加了一个文本框和一个按钮,在报告上方,我向页面添加了一个进程,执行 PL/SQL 代码:
DECLARE
v_sql varchar2(4000);
BEGIN
IF :P3_SEARCH IS NOT NULL THEN
v_sql := q'[select field1, field2, field3
FROM Table1
WHERE category_id = ]' ||TO_NUMBER(:P3_CATEGORY)||
q'[ AND (function(id) LIKE '%]'||:P3_SEARCH|||
q'[%' OR field2 LIKE '%]' ||:P3_SEARCH||
q'[%' OR field3 LIKE '%]' ||:P3_SEARCH|| q'[%')]';
ELSE
v_sql := q'[select field1, field2, field3
FROM Table1
WHERE category_id = ]' ||TO_NUMBER(:P3_CATEGORY)|| q'[]';
END IF;
apex_debug.MESSAGE('my query is: ' || v_sql);
-- RETURN v_sql;
END;
我有两个问题 - 我的结果查询没有按预期出现 - % 符号消失了,而不是
select field1, field2, field3
FROM Table1
WHERE category_id = 4
AND (function(id) like '%test%' OR field2 like '%test%' OR field3 like '%test%')
我明白了
select field1, field2, field3
FROM Table1
WHERE category_id = 4
AND (function(id) like 'test' OR field2 like 'test' OR field3 like 'test')
当单击搜索按钮时,我也无法弄清楚如何为我的报告区域切换源 sql。有人可以帮忙吗?
【问题讨论】:
标签: oracle plsql oracle-apex oracle-apex-5.1