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

时间:2018-06-08 13:16:04

标签: plsql oracle-apex

我试图传递一个由逗号分隔的数字列表,以便在我的SQL查询条款中使用,但我发现你不能通过共同体。有没有办法做到这一点?我已经尝试过强烈反对和其他事情,但它仍然无法正常工作。我可以使用分号代替分号,并在表使用绑定变量加载查询之前将分号更改为逗号为逗号吗?任何帮助,将不胜感激。

2 个答案:

答案 0 :(得分:2)

除了你可以传递逗号外,它都受支持。 https://community.oracle.com/thread/4148695

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

描述你想要解决的而不是你试图如何解决它通常会更好。如果你只是描述你尝试过的东西,你至少应该详细说明,特别是因为解决方案是documented

答案 1 :(得分:0)

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

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
  );