powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Работа с коллекциями в T-SQL
25 сообщений из 85, страница 1 из 4
Работа с коллекциями в T-SQL
    #32410583
Simple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите.
Были написаны коды на PL/SQL. Их необходимо перевести на T-SQL (меняется БД). Есть ли аналог таблиц обьектов (table of object) (работы с коллекциями, в частности использование их в запросах) в T-SQL. Или придется переносить логику на клиента (С#)
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32410623
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не имеется.

А что вы подразумеваете под работы с коллекциями ? Зачем уж они так нужны? Может избавиться от них - все-равно придется бОльшую часть переписать

-- Tygra's --
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32410643
Simple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Переписать понятное дело. А вы работали с коллекциями ? Просто те возможности которые они дают можно решить только курсорами и то не всегда.
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32410780
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, не работал.
Поэтому и спрашиваю - что это есть за работа, чтобы предложить как это сделать на MS SQL (или не делать :)

-- Tygra's --
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32411115
Фотография www.fun4me.narod.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и чего такого они дают?
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32411210
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Грубо говоря, это ассоциативные массивы (в 8-ке по integer, в 9-ке можно по varchar2) в памяти сеанса. Весьма удобны в работе и довольно широко используются в Oracle
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32411749
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Gluk (Kazan)
А чем они отличаются от временных таблиц в MSSQL?
Ассоциативный массив - это массив с обращениями не по индексу, а по значению ключа (как я понял из вашего описания). Вот в MSSQL это есть. И тоже очень широко используются.
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32411789
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в общем - вам придется переписать код на использование временных таблиц...

Понятно что менее удобно - но такой уж TSQL - язык спартанцев и прочих...
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32411820
Фотография www.fun4me.narod.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 furnikov
А вы видели, sql trace при обработке коллекций или вложенных таблиц на клиенте через функции OCI? ORACLE по каждому чиху загружает кучу ненужной информации о типе объекта из своих системных таблиц. Причем делает это не одним запросом, а целой серией маленьких ненужных запросиков. Что существенно увеличивает нагрузку на сеть и тормозит работу приложения.
Если оно так же и на PL/SQL реализовано.... Тогда это должно тормозить уже на таблице с полумиллионом строк... /imho/
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32411839
Фотография www.fun4me.narod.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, временные таблицы гораздо удобнее - вы можете их использовать в запросах без открытия курсора. Естественно, всё быстрее работает. Так как оптимизатор может, например, распараллелить запрос, если сочтет нужным. А с коллекциями такого не сделать не удастся.
В общем, забудьте о коллекциях - используйте временные таблицы. Поймете, что много потеряли, программируя на ORACLE.
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32411917
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну ну - коллекции на клиенте... ну тогда да для вас ORACLE - это вообще не СУБД (тем более в сравнении с MS SQL)
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32412039
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 funikovyuri
А можно какой-нибудь примерчик по применению коллекций? Хоть понять что это такое
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32412085
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, да, примерчик нам.
И как именно у вас применяются

-- Tygra's --
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32412713
Gt.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gt.
Гость
поскольку оракловые источники посмотреть похоже вам религия не позволяет, предлагаю смотреть сюда:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/architec/8_ar_ad_0hyx.asp
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32413046
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Gt.
Без ёрничества конечно никак...
Ну не знаю я ничего об Оракле - не было нужно - и где я эти источники буду искать? Неужели трудно пример какой? Я б чего-нибудь написал, если б мог.

Приведённая Вами ссылка описывает English Query - скорее всего Вы ошиблись или тогда чё-то надо еще пояснить.
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32413084
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А при чем тут оракловые источники? Хочется узнать, как это использует Simple - может оно ему не надо

-- Tygra's --
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32413368
Gt.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gt.
Гость
мда линк на 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
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32413391
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Gt.
Вторая ссылка требует пароля... Вот у вас всё так... Это по MSSQL легко найти информацию.
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32413402
Gt.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gt.
Гость
зарегистрируйся - это бесплатно, лень? чуть шевилим мозгами и ...
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+
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32413437
Фотография www.fun4me.narod.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и правильно. В принципе, каждый столбец в отношении должен быть атомарным. А UDT с перегрузкой операций позволяют хранить в базе только отношения между атомарными столбцами, скрывая детали реализации структуры столбцов в UDT. Это может быть полезным, так как всё равно в наше время в высшые нормальные формы из-за лени мало кто базу переведёт.
Но коллекции являются вариантом реализации именно отношений. Спрашивается, нафига тогда таблицы?

На самом деле, я видел реализации постраничной подгрузки с помощью коллекций. Работало всё неимоверно медленно. Запрос с двумя подзапросами с использованием ROWNUM работал на порядок быстрее. (Особенно для первых страниц :)) .Если в случае Simple коллекции используются для альтернативы таблицам (а их приходится так использовать из-за неэффективной реализации временных таблиц в ORACLE), то замена их на таблицы при переходе на MSSQL будет вполне естественной и лишь увеличит производительность системы.

/imho/
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32413509
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Gt.
авторзарегистрируйся - это бесплатно, лень?
Ну, что-бы узнать, что такое коллекции, заводить новый почтовый ящик, вводить сто полей в формах регистрации....

За гуглёвую ссылку спасибо - про поиск я как-то и не подумал :-)
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32413564
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Под коллекциями Oracle обычно подразумеваются PL/SQL-таблицы, начиная с Oracle8i дополнительно появились объектные таблицы. Первые представляют собой не более чем индексированные массивы, с ними нельзя работать через операторы SQL: SELECT, INSERT, UPDATE, etc, но в запросах можно использовать элементы массива, указывая его индекс. Объектные же таблицы могут использоваться точно так же, но возможностей у них гораздо больше: использование в запросах, создание обыкновенных таблиц на их основе, доступ к методам объектов таблицы и т.д.

Главное отличие оракловых коллекций от временных таблиц ИМХО состоит в возможности передачи их в качестве аргумента процедуры (здесь я могу ошибаться, может это не так, т.е. в MSSQL можно "обмениваться" временными таблицами?) и хранении их экземпляров в контексте сессии. В MSSQL, насколько я знаю, отсутствует понятие пакета, или PACKAGE, где можно сохранять пользовательские переменные, к примеру, экземпляра массива. И если участки кода Oracle. использующие коллекции только "для внутреннего употребления", можно будет достаточно безболезненно переписать на использование временных таблиц, то код, использующий "разделяемые" коллекции, ИМХО придется переосмысливать полностью.
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32413590
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вобще личных впечатлений и личного опыта хотелось. Ссылками то кидаться проще простого.
Но видать не судьба.
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32413642
Фотография www.fun4me.narod.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ораклисты - они все такие. В большинстве своём. Жизнь по книжкам учат, а не по опыту. Ссылка для них важнее, чем пример.
...
Рейтинг: 0 / 0
Работа с коллекциями в T-SQL
    #32413919
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
www.fun4me.narod.ru

А у сторонником MS SQL тогда есть черта - все чего нет в их любимой СУБД причислять к ненужному...

P.S> мы же вроде про атомарность договорились (т.е. где imho)
...
Рейтинг: 0 / 0
25 сообщений из 85, страница 1 из 4
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Работа с коллекциями в T-SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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