Plsql 如何在ORACLE APEX中将逗号作为页面项传递

Plsql 如何在ORACLE APEX中将逗号作为页面项传递,plsql,oracle-apex,Plsql,Oracle Apex,我试图传递一个由逗号分隔的数字列表,以便在SQL查询in子句中使用,但我发现您不能传递逗号。有办法做到这一点吗?我试着让反弹和其他事情过去,但仍然不起作用。我是否可以改为使用分号,并在表使用绑定变量加载查询之前将分号改回逗号?任何帮助都将不胜感激 您必须将逗号分隔的值拆分为行。下面是一个例子: SQL> select * from dept 2 where deptno in 3 (select regexp_substr('&&P1_IN_LIST', '

我试图传递一个由逗号分隔的数字列表,以便在SQL查询in子句中使用,但我发现您不能传递逗号。有办法做到这一点吗?我试着让反弹和其他事情过去,但仍然不起作用。我是否可以改为使用分号,并在表使用绑定变量加载查询之前将分号改回逗号?任何帮助都将不胜感激

您必须将逗号分隔的值拆分为行。下面是一个例子:

SQL> select * from dept
  2  where deptno in
  3    (select regexp_substr('&&P1_IN_LIST', '[^,]+', 1, level) deptno
  4     from dual
  5     connect by level <= regexp_count('&&P1_IN_LIST', ',') + 1
  6    );
Enter value for p1_in_list: 10,30

    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        30 SALES          CHICAGO

SQL>
相同的Apex查询看起来像

select * from dept
where deptno in
  (select regexp_substr(:P1_IN_LIST, '[^,]+', 1, level) deptno
   from dual
   connect by level <= regexp_count(:P1_IN_LIST, ',') + 1
  );

除了可以传递逗号之外,它是受支持的。

如果你想传递一组数字,为什么要用逗号呢? 你是如何使用这些数字的

描述你试图解决的问题,而不是描述你试图解决的问题,通常会更好。如果你只是描述你尝试过的东西,你至少应该深入细节,特别是因为解决方案是可行的