Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
Помогите. Были написаны коды на PL/SQL. Их необходимо перевести на T-SQL (меняется БД). Есть ли аналог таблиц обьектов (table of object) (работы с коллекциями, в частности использование их в запросах) в T-SQL. Или придется переносить логику на клиента (С#) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2004, 15:01 |
|
||
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
Не имеется. А что вы подразумеваете под работы с коллекциями ? Зачем уж они так нужны? Может избавиться от них - все-равно придется бОльшую часть переписать -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2004, 15:24 |
|
||
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
Переписать понятное дело. А вы работали с коллекциями ? Просто те возможности которые они дают можно решить только курсорами и то не всегда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2004, 15:36 |
|
||
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
Нет, не работал. Поэтому и спрашиваю - что это есть за работа, чтобы предложить как это сделать на MS SQL (или не делать :) -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2004, 16:45 |
|
||
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
Ну и чего такого они дают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2004, 22:19 |
|
||
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
Грубо говоря, это ассоциативные массивы (в 8-ке по integer, в 9-ке можно по varchar2) в памяти сеанса. Весьма удобны в работе и довольно широко используются в Oracle ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 07:33 |
|
||
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
2Gluk (Kazan) А чем они отличаются от временных таблиц в MSSQL? Ассоциативный массив - это массив с обращениями не по индексу, а по значению ключа (как я понял из вашего описания). Вот в MSSQL это есть. И тоже очень широко используются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 13:01 |
|
||
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
в общем - вам придется переписать код на использование временных таблиц... Понятно что менее удобно - но такой уж TSQL - язык спартанцев и прочих... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 13:13 |
|
||
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
2 furnikov А вы видели, sql trace при обработке коллекций или вложенных таблиц на клиенте через функции OCI? ORACLE по каждому чиху загружает кучу ненужной информации о типе объекта из своих системных таблиц. Причем делает это не одним запросом, а целой серией маленьких ненужных запросиков. Что существенно увеличивает нагрузку на сеть и тормозит работу приложения. Если оно так же и на PL/SQL реализовано.... Тогда это должно тормозить уже на таблице с полумиллионом строк... /imho/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 13:26 |
|
||
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
Кстати, временные таблицы гораздо удобнее - вы можете их использовать в запросах без открытия курсора. Естественно, всё быстрее работает. Так как оптимизатор может, например, распараллелить запрос, если сочтет нужным. А с коллекциями такого не сделать не удастся. В общем, забудьте о коллекциях - используйте временные таблицы. Поймете, что много потеряли, программируя на ORACLE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 13:31 |
|
||
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
ну ну - коллекции на клиенте... ну тогда да для вас ORACLE - это вообще не СУБД (тем более в сравнении с MS SQL) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 13:54 |
|
||
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
2 funikovyuri А можно какой-нибудь примерчик по применению коллекций? Хоть понять что это такое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 14:40 |
|
||
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
Да, да, примерчик нам. И как именно у вас применяются -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 14:58 |
|
||
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
поскольку оракловые источники посмотреть похоже вам религия не позволяет, предлагаю смотреть сюда: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/architec/8_ar_ad_0hyx.asp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 21:24 |
|
||
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
2 Gt. Без ёрничества конечно никак... Ну не знаю я ничего об Оракле - не было нужно - и где я эти источники буду искать? Неужели трудно пример какой? Я б чего-нибудь написал, если б мог. Приведённая Вами ссылка описывает English Query - скорее всего Вы ошиблись или тогда чё-то надо еще пояснить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2004, 10:43 |
|
||
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
А при чем тут оракловые источники? Хочется узнать, как это использует Simple - может оно ему не надо -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2004, 11:03 |
|
||
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
мда линк на msdn explorerом и не заполучить ... http://msdn.microsoft.com/msdnmag/issues/04/02/UDTsinYukon/default.aspx там рядом пара статей зачем в субд (Юконе) ООП Без ёрничества конечно никак... если бы вы хотели что-то узнать то уже посмотрели бы Oracle® Database Application Developer's Guide - Object-Relational Features ... http://download-west.oracle.com/docs/cd/B12037_01/appdev.101/b10799/toc.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2004, 12:55 |
|
||
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
2Gt. Вторая ссылка требует пароля... Вот у вас всё так... Это по MSSQL легко найти информацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2004, 13:04 |
|
||
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
зарегистрируйся - это бесплатно, лень? чуть шевилим мозгами и ... http://www.google.com/search?hl=en&ie=UTF-8&oe=UTF-8&q=Oracle%C2%AE+Database+Application+Developer%27s+Guide+-+Object-Relational+Features+ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2004, 13:08 |
|
||
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
Ну и правильно. В принципе, каждый столбец в отношении должен быть атомарным. А UDT с перегрузкой операций позволяют хранить в базе только отношения между атомарными столбцами, скрывая детали реализации структуры столбцов в UDT. Это может быть полезным, так как всё равно в наше время в высшые нормальные формы из-за лени мало кто базу переведёт. Но коллекции являются вариантом реализации именно отношений. Спрашивается, нафига тогда таблицы? На самом деле, я видел реализации постраничной подгрузки с помощью коллекций. Работало всё неимоверно медленно. Запрос с двумя подзапросами с использованием ROWNUM работал на порядок быстрее. (Особенно для первых страниц :)) .Если в случае Simple коллекции используются для альтернативы таблицам (а их приходится так использовать из-за неэффективной реализации временных таблиц в ORACLE), то замена их на таблицы при переходе на MSSQL будет вполне естественной и лишь увеличит производительность системы. /imho/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2004, 13:18 |
|
||
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
2Gt. авторзарегистрируйся - это бесплатно, лень? Ну, что-бы узнать, что такое коллекции, заводить новый почтовый ящик, вводить сто полей в формах регистрации.... За гуглёвую ссылку спасибо - про поиск я как-то и не подумал :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2004, 13:37 |
|
||
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
Под коллекциями Oracle обычно подразумеваются PL/SQL-таблицы, начиная с Oracle8i дополнительно появились объектные таблицы. Первые представляют собой не более чем индексированные массивы, с ними нельзя работать через операторы SQL: SELECT, INSERT, UPDATE, etc, но в запросах можно использовать элементы массива, указывая его индекс. Объектные же таблицы могут использоваться точно так же, но возможностей у них гораздо больше: использование в запросах, создание обыкновенных таблиц на их основе, доступ к методам объектов таблицы и т.д. Главное отличие оракловых коллекций от временных таблиц ИМХО состоит в возможности передачи их в качестве аргумента процедуры (здесь я могу ошибаться, может это не так, т.е. в MSSQL можно "обмениваться" временными таблицами?) и хранении их экземпляров в контексте сессии. В MSSQL, насколько я знаю, отсутствует понятие пакета, или PACKAGE, где можно сохранять пользовательские переменные, к примеру, экземпляра массива. И если участки кода Oracle. использующие коллекции только "для внутреннего употребления", можно будет достаточно безболезненно переписать на использование временных таблиц, то код, использующий "разделяемые" коллекции, ИМХО придется переосмысливать полностью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2004, 13:57 |
|
||
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
А вобще личных впечатлений и личного опыта хотелось. Ссылками то кидаться проще простого. Но видать не судьба. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2004, 14:04 |
|
||
|
Работа с коллекциями в T-SQL
|
|||
|---|---|---|---|
|
#18+
Ораклисты - они все такие. В большинстве своём. Жизнь по книжкам учат, а не по опыту. Ссылка для них важнее, чем пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2004, 14:25 |
|
||
|
|

start [/forum/topic.php?fid=35&fpage=51&tid=1554184]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 366ms |

| 0 / 0 |
