|
|
|
Проблема с использованием GLOBAL TEMPORARY TEBLE в PLSQL блоках
|
|||
|---|---|---|---|
|
#18+
Сразу пишу APEX Collection не подходят т.к. обрабатываются большие объемы данных в цикле и ADD MEMBER очень медленный с GTT данные добавляются на несколько порядков быстрее. Проблема в следующем созданы таблицы с типом по коммиту ON COMMIT PRESERVE ROWS , чтобы записи после коммита оставались. В таблице имеется поле с именем пользователя чтобы данные были видны только ему. Перед каждым заполнением временной таблицы делаю DELETE данных для текущего пользователя, но почему то IRR (интерактивный отчет) при обращении не отображает данные, но если сделать тупой REFRESH (по кнопке F5) данные появляются, в чем может быть проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2014, 13:10 |
|
||
|
Проблема с использованием GLOBAL TEMPORARY TEBLE в PLSQL блоках
|
|||
|---|---|---|---|
|
#18+
SuPPler Вы же точно знаете как решить проблему, подскажите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2014, 14:17 |
|
||
|
Проблема с использованием GLOBAL TEMPORARY TEBLE в PLSQL блоках
|
|||
|---|---|---|---|
|
#18+
Пожалуйста :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2014, 14:19 |
|
||
|
Проблема с использованием GLOBAL TEMPORARY TEBLE в PLSQL блоках
|
|||
|---|---|---|---|
|
#18+
Еще уточнение заполнение таблиц делаю в процессе AfterHeader ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2014, 14:22 |
|
||
|
Проблема с использованием GLOBAL TEMPORARY TEBLE в PLSQL блоках
|
|||
|---|---|---|---|
|
#18+
maxandsoft, вынужден снова дать ссылку на otn: https://community.oracle.com/thread/2497921?tstart=0 Вы при заполнении этих таблиц юзаете какие-нибудь items? Скорее всего, они на момент работы After Header пустые. Ну и в дополнение: Use Debug mode to trace the rendering and processing of a page. The After Header computation is performed before the After Header ARF process fetches the column value. You can see the order of page events using Utilities > Page Events in the page definition. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2014, 15:21 |
|
||
|
Проблема с использованием GLOBAL TEMPORARY TEBLE в PLSQL блоках
|
|||
|---|---|---|---|
|
#18+
Al_vrn, + GTT, ввиду архитектуры, придётся заполнять каждый раз перед отрисовкой страницы. посмотрите в сторону APEX_COLLECTION.ADD_MEMBER S APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2014, 15:50 |
|
||
|
Проблема с использованием GLOBAL TEMPORARY TEBLE в PLSQL блоках
|
|||
|---|---|---|---|
|
#18+
Al_vrn, да ITEMS использую но только application items global scope и при этом они точно заполнены, т.к. их заполняю при авторизации и использую в других блоках и процессах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2014, 17:49 |
|
||
|
Проблема с использованием GLOBAL TEMPORARY TEBLE в PLSQL блоках
|
|||
|---|---|---|---|
|
#18+
SvDev, Я как раз от них ухожу я в начале поста писал создание коллекции из селекта занимает 28 минут, то же самое в цикле во временную таблицу 2 минуты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2014, 17:50 |
|
||
|
Проблема с использованием GLOBAL TEMPORARY TEBLE в PLSQL блоках
|
|||
|---|---|---|---|
|
#18+
SvDev, скорее всего попробую заполнять перед отрисовкой, но вроде же когда делаю глобальную временную таблицу, и резерв по коммиту, то должна оставаться, даже остается но не всегда отображает данные в IRR ((((( после рефреша через браузер отображает ((((((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2014, 17:53 |
|
||
|
Проблема с использованием GLOBAL TEMPORARY TEBLE в PLSQL блоках
|
|||
|---|---|---|---|
|
#18+
maxandsoft, еще поправочка заметил закономерность когда формирую записи временной таблицы на одной странице и перехожу на другую по кнопке Submit который привязана к branch на следующую страницу то с временной таблицей все гуд она отражается, а когда просто кнопка с редиректом на страницу приложения то раз через раз отражается (это нет закономерности) ((((((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2014, 17:57 |
|
||
|
Проблема с использованием GLOBAL TEMPORARY TEBLE в PLSQL блоках
|
|||
|---|---|---|---|
|
#18+
maxandsoft, но опять же отражается правильно в JQTREE стандартном компоненте APEX а с IRR глюки шмуки ((((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2014, 17:59 |
|
||
|
Проблема с использованием GLOBAL TEMPORARY TEBLE в PLSQL блоках
|
|||
|---|---|---|---|
|
#18+
maxandsoftSvDev, скорее всего попробую заполнять перед отрисовкой, но вроде же когда делаю глобальную временную таблицу, и резерв по коммиту, то должна оставаться, даже остается но не всегда отображает данные в IRR ((((( после рефреша через браузер отображает ((((((( gtt не очень вписывается в архитектуру апекса. При выполнении запросов к апексу, сессии оракла назначаются динамически, при этом не закрываются в конце, а просто тупо очищаются. Код: plsql 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. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. Нет гарантии, что данные gtt сохранятся для вашей апексной сессии при следующем запросе, или не окажутся вдруг в другой апексной сессии. Как вариант, создайте свою табличку со столбцом apex_session_id. Ну или в начале каждого запроса заполняйте заново gtt, тип gtt как раз лучше поменять на on commit delete rows. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2014, 18:31 |
|
||
|
Проблема с использованием GLOBAL TEMPORARY TEBLE в PLSQL блоках
|
|||
|---|---|---|---|
|
#18+
SvDev+ GTT, ввиду архитектуры, придётся заполнять каждый раз перед отрисовкой страницы.И перед заполнением удалять из неё данные, что нивелирует все плюсы сессионной GTT. Учитывая, что IR при любых изменениях или обновлении подтягивает данные через XmlHttpRequest, который в общем случае будет обрабатываться случайным процессом из пула, использовать временные таблицы нет смысла. Я только поправлю уважаемого коллегу с предложением использовать API для коллекций: SvDevAPEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY _B Этот вариант использует пакетную вставку для заполнения коллекции вместо построчной, так что должен выполниться быстрее. Напомню, что кроме строковых полей в коллекциях есть числовые поля, даты, BLOB, CLOB и XML. Поэтому можно использовать APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERYB2 для заполнения, а затем пользоваться значениями в полях без приведения типов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2014, 15:10 |
|
||
|
|

start [/forum/topic.php?fid=50&msg=38753819&tid=1875229]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
197ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 213ms |
| total: | 487ms |

| 0 / 0 |
