powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Intrecative report. Ссылка на "крайние" значения Pagination
6 сообщений из 6, страница 1 из 1
Intrecative report. Ссылка на "крайние" значения Pagination
    #35864672
Фотография pravednik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток.
Подскажите, какими "переменными" или "биндами" можно выловить значения текущих границ Pagination. То есть, при Pagination Type Row Range X to Y мне нужно передать в отчет текущие значения этих самых X и Y....
пытаюсь сделать нормальный постраничный вывод|запрос

заранее спасибо
...
Рейтинг: 0 / 0
Intrecative report. Ссылка на "крайние" значения Pagination
    #35871334
Фотография pravednik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если никто не сталкивался, может кто подскажет, как реализовать адекватный постраничный репорт не только с постраничным выводом, но и с соответствующей выборкой...
...
Рейтинг: 0 / 0
Intrecative report. Ссылка на "крайние" значения Pagination
    #35871651
Фотография pravednik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
запрос к одной таблице. Таблица с сабпартициями. range-list. Величина партиции - месяц
...
Рейтинг: 0 / 0
Intrecative report. Ссылка на "крайние" значения Pagination
    #35875247
Фотография Ales Protiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я честно не понял вопрос. Что значит " адекватный постраничный репорт не только с постраничным выводом, но и с соответствующей выборкой "?
...
Рейтинг: 0 / 0
Intrecative report. Ссылка на "крайние" значения Pagination
    #35876033
Фотография pravednik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ales ProtivЯ честно не понял вопрос. Что значит " адекватный постраничный репорт не только с постраничным выводом, но и с соответствующей выборкой "?
интерактивный репорт засылает ораклу вот такой вот запрос...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
select
       "SESSION_ID",
       "DB_USER",
       "OS_USER",
       "TIME",
       "OS_HOST",
       "TERMINAL",
       "ACTION",
       "STATEMENTID",
       "ENTRYID",
       "SQL_TEXT",
       "OBJECT_NAME",
       "OBJECT_SCHEMA",
       "SEVERITY",
       "RETURNCODE",
       count(*) over () as apxws_row_cnt
 from (
select  *  from (
--начало))
select  severity, SESSION_ID, DB_USER, OS_USER, to_char(EXTENDED_TIMESTAMP, 'DD-MM-YYYY HH24:MI:SS') time, OS_HOST, 
TERMINAL,nvl(a.ACTION, 0 )||' ('||t.NAME||') ' as action, 'ORA -'||case when length(RETURNCODE) < 5  then to_char(RETURNCODE,'09999')  end RETURNCODE, 
STATEMENTID, SQL_TEXT, OBJECT_NAME,OBJECT_SCHEMA, ENTRYID, TRANSACTIONID 
from хххх.audit_part_sub a, sys.audit_actions t  where db_user =:P5_DBUSER
and db_name='ххх'
and EXTENDED_TIMESTAMP between to_date(:P5_DATA_PICKER_MIN,'dd-mm-yyyy') and to_date(:P5_DATA_PICKER_MAX,'dd-mm-yyyy') 
and (SQL_TEXT like nvl(upper('%'||:P5_SQL_STATEMENT||'%'),'%') or SQL_TEXT like nvl(lower('%'||:P5_SQL_STATEMENT||'%'),'%'))
and nvl(a.ACTION, 0 )=t.ACTION
--конец
)  r
) r where rownum <= to_number(:APXWS_MAX_ROW_CNT)
то что между "началом" и "концом" - это моё, все остальное долепливает апекс.
результат выборки очень большой, и хотя апекс с pagination показвает не все строки сразу, но выборка то происходит вся (на сколько я понимаю), поэтому мне хотелось бы адаптировать свой запрос, обернув его в "постраничную выборку"

Код: plaintext
1.
2.
3.
4.
5.
6.
select t.*
from (select ...
           , row_number() over (order by EXTENDED_TIMESTAMP) rw
      from .....
     ) t
where t.rw >= :n
  and t.rw < :m;
привязав бинд переменные :n и :m к крайним значениям страниц. (Printing rows. Row window: 1-15 - из дебагера).

или моя идея в корне неверна ???
...
Рейтинг: 0 / 0
Intrecative report. Ссылка на "крайние" значения Pagination
    #35878113
Фотография Ales Protiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На сколько я понимаю вот это: row_number() over (order by EXTENDED_TIMESTAMP)
полюбому просканит все записи минимально вплоть до rownum <= to_number(:APXWS_MAX_ROW_CNT)
Для меня пока суть оптимизации ускользает. Или я не прав?
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Intrecative report. Ссылка на "крайние" значения Pagination
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]