Как передавать запятые как элементы страницы в ORACLE APEX - PullRequest
0 голосов
/ 08 июня 2018

Я пытаюсь передать список чисел, разделенных запятыми, для использования в моем запросе SQL в предложении, но я обнаружил, что вы не можете передавать запятые.Есть ли способ сделать это?Я попытался устранить негативную реакцию и другие вещи, но это все еще не работает.Можно ли вместо этого поставить точку с запятой и заменить точку с запятой на запятую до того, как таблица загрузит запрос, используя переменные связывания?Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Кроме того, что вы можете передавать запятые, это поддерживается.https://community.oracle.com/thread/4148695

А если вы хотите передать список чисел, зачем использовать запятые?Как вы используете эти цифры?

Описание что вы пытаетесь решить, а не то, как вы пытались его решить, как правило, лучше.И если вы описываете только то, что пытались, вам следует хотя бы подробно остановиться на этом, особенно потому, что решение задокументировано .

0 голосов
/ 09 июня 2018

Вы должны разбить значения через запятую на строки.Вот пример:

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