Хобрук: Ваш путь к мастерству в программировании

Проблема с классическим отчетом с несколькими входными данными с оператором IN

Я пытаюсь обновить отчет с помощью динамического действия. И получить следующие ошибки:

{'диалог': {'uv': правда, 'строка': [{'V': сбой виджета}]}} ORA-20876: остановить двигатель APEX. классический_отчет}]}}

Я думаю, что это проблема со строкой, которая не может принимать and ST.ID IN (:P11_ROW_PK) в sql-запросе.

Пожалуйста, предложите обходной путь для того же.


Ответы:


1

Для этого вопроса требуется контекст, который вы указали в https://stackoverflow.com/a/63627447/527513.

Если P11_ROW_PK представляет собой список идентификаторов с разделителями, то вы должны соответствующим образом структурировать свой запрос, а не ожидать, что оператор IN будет деконструировать переменную связывания, содержащую строку.

Попробуйте это вместо

select * from your_table
where st.id in (select column_value from apex_string.split(:P11_ROW_PK))
31.08.2020
  • Будет ли это жестко закодировано, я вижу ошибку, даже когда выбираю общий столбец в отчете: select column_value from apex_string.split(:P11_ROW_PK) @Scott 31.08.2020
  • Что вы имеете в виду под «жестко запрограммированным»? Он берет строку из вашей переменной связывания и разбивает ее на несколько строк одного столбца. При желании вы можете указать свой разделитель. 01.09.2020
  • Выдает ошибку: report error: ORA-00904: "APEX_STRING"."SPLIT": invalid identifier Я думаю, что Apex 4.2 не поддерживает функцию APEX_STRING, нужно найти другое решение... @Scott 01.09.2020
  • String_to_table делает то же самое, но вам нужно обернуть это в конвейерную функцию, чтобы иметь возможность использовать ее в SQL. док. oracle.com/cd/E37097_01/doc.42/e35127/ 01.09.2020
  • Спасибо, Скотт, еще одно решение, которое я получил по ссылке: dgielis.blogspot.com/2017/02 01.09.2020

  • 2

    where REGEXP_LIKE(CUSTOMER_ID, '^('|| REPLACE(:P4_SEARCH,',','|') ||')$') Приведенный выше код будет действовать так же, как APEX_STRING, только если вы используете более раннюю версию Apex.

    01.09.2020
    Новые материалы

    Dall-E 2: недавние исследования показывают недостатки в искусстве, созданном искусственным интеллектом
    DALL-E 2 — это всеобщее внимание в индустрии искусственного интеллекта. Люди в списке ожидания пытаются заполучить продукт. Что это означает для развития креативной индустрии? О применении ИИ в..

    «Очень простой» эволюционный подход к обучению с подкреплением
    В прошлом семестре я посетил лекцию по обучению с подкреплением (RL) в моем университете. Честно говоря, я присоединился к нему официально, но я редко ходил на лекции, потому что в целом я нахожу..

    Освоение информационного поиска: создание интеллектуальных поисковых систем (глава 1)
    Глава 1. Поиск по ключевым словам: основы информационного поиска Справочная глава: «Оценка моделей поиска информации: подробное руководство по показателям производительности » Глава 1: «Поиск..

    Фишинг — Упаковано и зашифровано
    Будучи старшим ИТ-специалистом в небольшой фирме, я могу делать много разных вещей. Одна из этих вещей: специалист по кибербезопасности. Мне нравится это делать, потому что в настоящее время я..

    ВЫ РЕГРЕСС ЭТО?
    Чтобы понять, когда использовать регрессионный анализ, мы должны сначала понять, что именно он делает. Вот простой ответ, который появляется, когда вы используете Google: Регрессионный..

    Не зря же это называют интеллектом
    Стек — C#, Oracle Опыт — 4 года Работа — Разведывательный корпус Мне пора служить Может быть, я немного приукрашиваю себя, но там, где я живу, есть обязательная военная служба на 3..

    LeetCode Проблема 41. Первый пропущенный положительный результат
    LeetCode Проблема 41. Первый пропущенный положительный результат Учитывая несортированный массив целых чисел, найдите наименьшее пропущенное положительное целое число. Пример 1: Input:..