|
Несколько вопросов по коллекциям
|
|||
---|---|---|---|
#18+
1. Тут кто-то недавно рекомендовал сайт applicationexpress.ru. Я туда зашел, посмотрел видео по использованию коллекций. На видео показан пример интернет-магазина, где корзина реализована через коллекцию. Появился такой вопрос: если два пользователя работают с сайтом одновременно и одновременно у каждого из них создается коллекция "MyCollection" - это будут все-таки разные коллекции? Т. е. каждый пользователь будет видеть только свою коллекцию "MyCollection"? 2. Пользователь может в любой момент закрыть браузер, и может получиться так, что код наполнения коллекции выполнится, а код очистки - нет. Коллекция будет удалена автоматически или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2011, 18:47 |
|
Несколько вопросов по коллекциям
|
|||
---|---|---|---|
#18+
Вопросы, наверное, уже не актуальны, но всё же : по созданию коллекции - "Use this procedure to create an empty collection that does not already exist. If a collection exists with the same name for the current user in the same session for the current Application ID, an application error is raised." то есть, в принципе, это будут разные коллекции. по удалению - удаляется вручную APEX_COLLECTION.DELETE_COLLECTION ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2011, 20:51 |
|
Несколько вопросов по коллекциям
|
|||
---|---|---|---|
#18+
PavelDart, спасибо за ответ, я уже и забыл про эти вопросы... Я почитал про коллекции, увидел упоминания сессий и тоже подумал, что разные пользователи не будут мешать друг другу. Потом зашел в раздел "SQL Commands", там выполнил команду, создающую коллекцию, добавил элемент, убедился, что он там есть, потом сделал логаут, зашел заново, попробовал посмотреть содержимое коллекции - APEX выдал "no data found". Кстати, потом уже где-то в документации увидел, что коллекция живет до конца сессии, но не могу найти теперь это место. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2011, 22:17 |
|
Несколько вопросов по коллекциям
|
|||
---|---|---|---|
#18+
Добрый день! Есть проблема с созданием коллекции. На странице есть PL/SQL блок с таким содержанием: Код: 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. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41.
Код: plaintext
Собственно вопрос - почему не заполняется коллекция? Пробовал в SQL Workshop'e: Код: plaintext 1. 2. 3.
Код: plaintext
Результатом выдовалась одна строка с добавленным мембером. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2011, 10:38 |
|
Несколько вопросов по коллекциям
|
|||
---|---|---|---|
#18+
И еще, как я понял из описания процедуры APEX_COLLECTION.CREATE_OR_TRUNCATE_COLLECTION Use this procedure to create a collection. If a collection exists with the same name for the current user in the same session for the current Application ID, all members of the collection are removed. In other words, the named collection is truncated. эта процедура заменяет блок Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2011, 10:43 |
|
Несколько вопросов по коллекциям
|
|||
---|---|---|---|
#18+
DanJa Код: plaintext 1. 2. 3.
Кстати, я и так тоже пробовал - результат такой же. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2011, 11:21 |
|
Несколько вопросов по коллекциям
|
|||
---|---|---|---|
#18+
DanJa, слишком большой и неудачный пример. 0. Работа с БД через PL/SQL должна идти в процессах, а не в регионах. PL/SQL Dynamic Content - это вывод содержимого , а не изменение данных. Так что идеологически лишним будет в коде региона менять коллекцию. :) 1. Чтобы разобрать строку на коллекцию элементов, воспользуйтесь APEX_UTIL.STRING_TO_TABLE . 2. SQL Commands - это другое приложение. Коллекции доступны в пределах того приложения, в котором они созданы. Гляньте в DDL представления <apex_schema>.wwv_flow_collections, если хотите увидеть все фильтры доступа. DanJaИ еще, как я понял из описания процедуры APEX_COLLECTION.CREATE_OR_TRUNCATE_COLLECTION Use this procedure to create a collection. If a collection exists with the same name for the current user in the same session for the current Application ID, all members of the collection are removed. In other words, the named collection is truncated. эта процедура заменяет блок Код: plaintext 1. 2. 3.
Они не равнозначны. APEX_COLLECTION.CREATE_OR_TRUNCATE_COLLECTION при наличии коллекции не удаляет её, просто убирает все элементы из коллекции. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2011, 15:10 |
|
|
start [/forum/topic.php?fid=50&msg=37343545&tid=1876463]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
137ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 325ms |
total: | 552ms |
0 / 0 |