Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 в MS sql 2008 перестал работать order by.  [new]
vlgrech
Member

Откуда: Кемерово
Сообщений: 16
Даже неудобно задавать такой вопрос. Чего-то простого не знаю.
в MS sql 2008 перестал работать order by. В MS sql 2000 всё работало и теперь работает.
21 авг 18, 07:55    [21648830]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
Посетитель
Member

Откуда:
Сообщений: 1384
vlgrech,

в отпуск, наверное ушел.
вернется - заработает.

вы какой-ответ то хотите услышать?
21 авг 18, 08:07    [21648835]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
Щукина Анна
Member

Откуда:
Сообщений: 1466
"перестал работать" - выдает сообщение об ошибке?
или как оно проявляется?
21 авг 18, 08:07    [21648836]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1507
vlgrech
Даже неудобно задавать такой вопрос. Чего-то простого не знаю.
Похоже...
в MS sql 2008 перестал работать order by. В MS sql 2000 всё работало и теперь работает.
Наверняка он где-то во view, не так ли? Если так, то такое поведение начиная с 2005-го. Игнорируется он в некоторых местах.
21 авг 18, 08:12    [21648839]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Sergey Sizov,
автор
Игнорируется он в некоторых местах.

Игнорируется?
21 авг 18, 08:53    [21648871]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
vlgrech
Member

Откуда: Кемерово
Сообщений: 16
Sergey Sizov,
Проявляется это в том, что представление (view) перестаёт упорядочивать записи.
Дайте намек как это исправить?
21 авг 18, 09:04    [21648886]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
vlgrech
Sergey Sizov,
Проявляется это в том, что представление (view) перестаёт упорядочивать записи.
Дайте намек как это исправить?

внутри представления задать сортировку конечно можно, с некоторым налётом извращения. Но что значить перестаёт? Дайте что-нибудь кроме общих фраз
21 авг 18, 09:07    [21648889]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1507
vlgrech
Sergey Sizov,
Проявляется это в том, что представление (view) перестаёт упорядочивать записи.
Дайте намек как это исправить?
Почитайте ж документацию. Сильно не уверен, что именно во view вам нужна сортировка. Select … from someview order by... даст вам нужный результат без ломания сервера через колено.
21 авг 18, 09:08    [21648890]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
vlgrech
Member

Откуда: Кемерово
Сообщений: 16
Sergey Sizov,
скопировал view
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
GO

CREATE VIEW dbo.Представление1
AS
SELECT TOP 100 PERCENT Код, Футболист, Номер
FROM dbo.Таблица1
ORDER BY Номер

вот таблица1
Код Футболист Номер
1 Пеле 10
2 Яшин 2
3 Месси 9
4 и т.д.
просматриваю таблицу и view - результат один. view не упорядочивает
Все то же самое в МС СКЛ 2000 - упорядочивает!
21 авг 18, 09:32    [21648926]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
vlgrech,

а тип поля "Номер" у вас varchar? И чего вы хотите?
21 авг 18, 09:33    [21648928]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
vlgrech
Member

Откуда: Кемерово
Сообщений: 16
TaPaK,
Номер int
21 авг 18, 09:39    [21648945]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
vlgrech
TaPaK,
Номер int

лжец
21 авг 18, 09:41    [21648948]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
vlgrech
Member

Откуда: Кемерово
Сообщений: 16
TaPaK,
не упорядочивает и по футболисту (varchar 30)
21 авг 18, 09:41    [21648949]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
vlgrech,

В общем если коротко
1. Использовать сортировку в представлении это не правильно и не нужно
2. Вы нихрена не показываете как вы выбираете, по этому предпологаю что просто SELECT * FROM View, то сртировать будет правильно
3. В остальных вариантах(соединиения и тп) сортировка не гарантируется.
4. Сортировка гарантируется только при явнои указание в запросе
21 авг 18, 09:55    [21648971]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
и да, если уж сильно хотите, то

SELECT TOP 99.9 PERCENT 

или
SELECT TOP (SELECT 100) PERCENT 
21 авг 18, 10:03    [21648977]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
vlgrech
Member

Откуда: Кемерово
Сообщений: 16
TaPaK,
Прилагаю Аксовский файл. В нем всё работает. При преобразовании его в формат СКЛ Сервера на сервер ляжет база с таблицей и представлением. На рабочей станции создается файл name.adp
Так вот при открытии этого последнего файла Аксом в нем тоже будут таблица и представление. Но представление не упорядочивает если сервер 2008. Если все это проделать для МС Скл 2000 то всё отлично.
Вот я и хочу выяснить почему нет преемственности?

К сообщению приложен файл (Database.rar - 20Kb) cкачать
21 авг 18, 10:30    [21649018]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
vlgrech,

ORDER BY в представлении с 2005 просто выбрасывается из плана. Либо обманывать либо не использовать, что ещё не понятно?
21 авг 18, 10:33    [21649026]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
vlgrech
Member

Откуда: Кемерово
Сообщений: 16
TaPaK,
В этом должен быть БОЛЬШОЙ смысл. Мне непонятно в чем он заключается?
21 авг 18, 10:40    [21649051]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
vlgrech
TaPaK,
В этом должен быть БОЛЬШОЙ смысл. Мне непонятно в чем он заключается?

бедолага, жалуйтесь в спортлото
21 авг 18, 10:42    [21649055]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
vlgrech
Member

Откуда: Кемерово
Сообщений: 16
TaPaK,
Одно дело сортировать большую таблицу на сервере, другое на клиенте.
21 авг 18, 10:43    [21649061]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
vlgrech
TaPaK,
Одно дело сортировать большую таблицу на сервере, другое на клиенте.

что за бред, сортируйте на здоровье, зачем это делать в представлении?
21 авг 18, 10:44    [21649066]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
qqq_2
Member

Откуда:
Сообщений: 44
vlgrech
TaPaK,
В этом должен быть БОЛЬШОЙ смысл. Мне непонятно в чем он заключается?


Для больших табличек будет писец, я так думаю.
21 авг 18, 10:45    [21649069]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1507
vlgrech
TaPaK,
В этом должен быть БОЛЬШОЙ смысл. Мне непонятно в чем он заключается?
Исключение ДОРОГОЙ операции сортировки там, где она нафиг не нужна. Еще раз - почитайте таки документацию. Ваш почти праведный гнев ничего не изменит.
21 авг 18, 10:48    [21649079]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
invm
Member

Откуда: Москва
Сообщений: 9128
vlgrech
В этом должен быть БОЛЬШОЙ смысл. Мне непонятно в чем он заключается?
Вы не поверите, но представления могут использоваться не только в запросах вида "select * from MyView ..." с возвратом результата клиенту. И сортировка при этом не требуется, от слова "совсем".
21 авг 18, 11:00    [21649090]     Ответить | Цитировать Сообщить модератору
 Re: в MS sql 2008 перестал работать order by.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7406
vlgrech,

В 2000 работало неверно.
Какая сортировка должна победить - та, что в представлении или та, что в запросе?
21 авг 18, 12:22    [21649278]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить