Как в Oracle Apex задать имя таблицы отчета с помощью элемента страницы?

У меня есть много таблиц на выбор и интерактивный отчет, имя таблицы которого нужно задать с помощью элемента страницы с именем P4_TABLE_NAME.

В других сообщениях говорится, что это можно сделать только с помощью PL/SQL. Поэтому я установил для источника интерактивного отчета значение «Тело функции, возвращающее SQL-запрос», а для языка — PL/SQL. Это код, который я тогда использовал:

declare
    v_query varchar2(500);
begin
    v_query := 'select * from '||:P4_TABLE_NAME ;
    return v_query;
end;

Этот код выдает ошибку "недопустимое имя таблицы". Я также попробовал это в классическом отчете, и он дает ту же ошибку.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это немного сложно, потому что отчет должен знать, какие столбцы вы выбираете, если вы не настроили его на использование общих имен столбцов. Это означает, что независимо от того, какую таблицу вы запрашиваете, имена столбцов будут col1, col2, col3, ...

Вот как:

  • Я создал новую страницу с областью отчета Classic и элементом списка Select (который возвращает таблицы, которые есть в моей схеме).

  • источник отчета - это тело функции, которое возвращает запрос, как вы его выразили:

    declare
        v_query varchar2(500);
    begin
        v_query := 'select * from ' || :P4_TABLE_NAME;
        return v_query;
    end;
    
  • не забудьте установить «Использовать общие имена столбцов» на «Да»!

Пункт тривиальный:

  • Я установил его на «Отправить страницу» (чтобы, когда я выбираю новую таблицу, содержимое отчета менялось)

  • Выберите запрос элемента списка:

    select table_name d, table_name r
    from user_tables
    order by table_name
    

Запустите страницу:

«Использовать общие имена столбцов» на «Да» доступно только для классического отчета?

User104163 11.11.2022 11:27

Насколько я могу судить, да.

Littlefoot 11.11.2022 11:28

Что ж, это сработало. Жаль, что это невозможно сделать с Interactive Report. Спасибо, в любом случае.

User104163 11.11.2022 11:40

Другие вопросы по теме