Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Гарантируется ли порядок строк при селекте из табличных переменных?  [new]
mnbvcx
Member

Откуда:
Сообщений: 189
MS SQL 2008.
Табличная переменная заполняется ч-з селект с ордер бай по полям ф1, ф2, ф3.
После чего на её основе создается курсор, но без ордер бай.
И идёт построчная обработка, где порядок строк роляет.
Это ок?
28 фев 19, 21:20    [21822219]     Ответить | Цитировать Сообщить модератору
 Re: Гарантируется ли порядок строк при селекте из табличных переменных?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
mnbvcx
MS SQL 2008.
Табличная переменная заполняется ч-з селект с ордер бай по полям ф1, ф2, ф3.
После чего на её основе создается курсор, но без ордер бай.
И идёт построчная обработка, где порядок строк роляет.
Это ок?

из документации: сортировка гаранитируется только явным указанием ORDER BY
в частном случае без индексов и т.д. может быть и "ок"
28 фев 19, 21:23    [21822223]     Ответить | Цитировать Сообщить модератору
 Re: Гарантируется ли порядок строк при селекте из табличных переменных?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36686
Без order by никаких гарантий.
1 мар 19, 01:49    [21822315]     Ответить | Цитировать Сообщить модератору
 Re: Гарантируется ли порядок строк при селекте из табличных переменных?  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
mnbvcx
Табличная переменная заполняется ч-з селект с ордер бай по полям ф1, ф2, ф3.?
Это ок?
Да даже это уже не ок. ORDER BY инструкция селекта, а не инсерта. Сервер вставит как посчитает нужным.
1 мар 19, 04:38    [21822331]     Ответить | Цитировать Сообщить модератору
 Re: Гарантируется ли порядок строк при селекте из табличных переменных?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30702
Mind
mnbvcx
Табличная переменная заполняется ч-з селект с ордер бай по полям ф1, ф2, ф3.?
Это ок?
Да даже это уже не ок. ORDER BY инструкция селекта, а не инсерта. Сервер вставит как посчитает нужным.
Да даже если бы вставил в соответствии с ORDER BY, это всё равно не имеет отношения к сортировке для SELECT, и соответственно для курсора.
1 мар 19, 07:16    [21822360]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить