我在APEX的某些日子里工作,我添加了一个Shuttle也是一个文本字段,包含在处理所选值之后。
我已经制作了一辆LOV(包含车站) 例: 是 FD 金 ...
目标是获取包含所选站点的所有对象 但如果我运行选择我得到更多的对象 - 也包括不包含任何选定的站的对象,但我不知道为什么
在SQL语句中我有以下内容:(ds_bess001是站点的字段)
AND INSTR (:P4_BES_EN, zl.ds_bes001) > 0
我使用下面的PL / SQL
DECLARE
v_selected APEX_APPLICATION_GLOBAL.VC_ARR2;
v_in_text VARCHAR2 (500) := '';
BEGIN
v_selected := APEX_UTIL.STRING_TO_TABLE (:P4_BES);
FOR i IN 1 .. v_selected.COUNT
LOOP
v_in_text := v_in_text || v_selected (i);
IF i < v_selected.COUNT
THEN
-- v_in_text := v_in_text || ', ';
v_in_text := v_in_text || ',';
END IF;
END LOOP;
-- v_in_text := '''' || replace(:P1_SHUTTLE, ':', ''',''') || '''';
:P4_BES_EN := v_in_text;
END;
有人可以帮我吗?!
现在我发现问题我得到了变量示例Ap','Fd','Ab和问题就是变量在开头和结尾都错过了'
任何人都可以告诉我如何在变量中添加缺失的'
答案 0 :(得分:0)
尝试
:P4_BES_EN := ''''||v_in_text||'''';
表示'在开头和结尾。
我觉得你必须把你的instr改成这样的东西
:P4_BES_EN := ','''||v_in_text||''',';
AND INSTR (:P4_BES_EN, ','||zl.ds_bes001||',') > 0
e.g:
DECLARE
v_in_text VARCHAR2 (500) := 'Ap'',''Fd'',''Ab';
BEGIN
v_in_text := ','''||v_in_text||''',';
dbms_output.put_line(v_in_text);
END;