0

我正在尝试在 where 子句中动态构建一个 IN,它不适用于多个值。当我输入一个值时它确实有效。我用 dmbs_output 测试输出,它看起来是正确的。逻辑在程序内部。欢迎任何帮助。

xq:=q'#select '('||q'[']'||REPLACE(UPPER(:pc),',',q'[',']')||q'[']'||')'  from dual#';
EXECUTE IMMEDIATE xq BULK COLLECT
        INTO qu 
       using pclient_code;
pclient_code2 := qu(1);  

然后在程序的后期

where
acv.client_code in case when pclient_code='*' then acv.client_code else pclient_code2 end

界面是

(pclient_code IN VARCHAR2,pclient_loc IN VARCHAR2,plob IN VARCHAR2,pclient_sube IN VARCHAR2, c_data IN OUT APP_NADS.PKG_STAND_SUBRO_ITD_ALL.type_stand_subro_itd_ALL) ```
 
4

0 回答 0