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

заранее спасибо
...
Рейтинг: 0 / 0
16.03.2009, 13:10
    #35871334
pravednik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Intrecative report. Ссылка на "крайние" значения Pagination
если никто не сталкивался, может кто подскажет, как реализовать адекватный постраничный репорт не только с постраничным выводом, но и с соответствующей выборкой...
...
Рейтинг: 0 / 0
16.03.2009, 14:35
    #35871651
pravednik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Intrecative report. Ссылка на "крайние" значения Pagination
запрос к одной таблице. Таблица с сабпартициями. range-list. Величина партиции - месяц
...
Рейтинг: 0 / 0
17.03.2009, 20:28
    #35875247
Ales Protiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Intrecative report. Ссылка на "крайние" значения Pagination
Я честно не понял вопрос. Что значит " адекватный постраничный репорт не только с постраничным выводом, но и с соответствующей выборкой "?
...
Рейтинг: 0 / 0
18.03.2009, 11:24
    #35876033
pravednik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Intrecative report. Ссылка на "крайние" значения Pagination
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
19.03.2009, 02:11
    #35878113
Ales Protiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Intrecative report. Ссылка на "крайние" значения Pagination
На сколько я понимаю вот это: row_number() over (order by EXTENDED_TIMESTAMP)
полюбому просканит все записи минимально вплоть до rownum <= to_number(:APXWS_MAX_ROW_CNT)
Для меня пока суть оптимизации ускользает. Или я не прав?
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Intrecative report. Ссылка на "крайние" значения Pagination / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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