powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / в MS sql 2008 перестал работать order by.
32 сообщений из 32, показаны все 2 страниц
в MS sql 2008 перестал работать order by.
    #39690769
vlgrech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Даже неудобно задавать такой вопрос. Чего-то простого не знаю.
в MS sql 2008 перестал работать order by. В MS sql 2000 всё работало и теперь работает.
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690772
Посетитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlgrech,

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

вы какой-ответ то хотите услышать?
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690773
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"перестал работать" - выдает сообщение об ошибке?
или как оно проявляется?
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690774
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlgrechДаже неудобно задавать такой вопрос. Чего-то простого не знаю.Похоже...в MS sql 2008 перестал работать order by. В MS sql 2000 всё работало и теперь работает.Наверняка он где-то во view, не так ли? Если так, то такое поведение начиная с 2005-го. Игнорируется он в некоторых местах.
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690786
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Sizov,
автор Игнорируется он в некоторых местах.
Игнорируется?
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690790
vlgrech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Sizov,
Проявляется это в том, что представление (view) перестаёт упорядочивать записи.
Дайте намек как это исправить?
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690791
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlgrechSergey Sizov,
Проявляется это в том, что представление (view) перестаёт упорядочивать записи.
Дайте намек как это исправить?
внутри представления задать сортировку конечно можно, с некоторым налётом извращения. Но что значить перестаёт? Дайте что-нибудь кроме общих фраз
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690792
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlgrechSergey Sizov,
Проявляется это в том, что представление (view) перестаёт упорядочивать записи.
Дайте намек как это исправить?Почитайте ж документацию. Сильно не уверен, что именно во view вам нужна сортировка. Select … from someview order by... даст вам нужный результат без ломания сервера через колено.
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690801
vlgrech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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 - упорядочивает!
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690802
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlgrech,

а тип поля "Номер" у вас varchar? И чего вы хотите?
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690807
vlgrech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK,
Номер int
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690808
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlgrechTaPaK,
Номер int
лжец
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690809
vlgrech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK,
не упорядочивает и по футболисту (varchar 30)
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690818
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlgrech,

В общем если коротко
1. Использовать сортировку в представлении это не правильно и не нужно
2. Вы нихрена не показываете как вы выбираете, по этому предпологаю что просто SELECT * FROM View, то сртировать будет правильно
3. В остальных вариантах(соединиения и тп) сортировка не гарантируется.
4. Сортировка гарантируется только при явнои указание в запросе
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690820
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и да, если уж сильно хотите, то

Код: sql
1.
SELECT TOP 99.9 PERCENT 


или
Код: sql
1.
SELECT TOP (SELECT 100) PERCENT 
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690838
vlgrech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK,
Прилагаю Аксовский файл. В нем всё работает. При преобразовании его в формат СКЛ Сервера на сервер ляжет база с таблицей и представлением. На рабочей станции создается файл name.adp
Так вот при открытии этого последнего файла Аксом в нем тоже будут таблица и представление. Но представление не упорядочивает если сервер 2008. Если все это проделать для МС Скл 2000 то всё отлично.
Вот я и хочу выяснить почему нет преемственности?
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690841
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlgrech,

ORDER BY в представлении с 2005 просто выбрасывается из плана. Либо обманывать либо не использовать, что ещё не понятно?
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690850
vlgrech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK,
В этом должен быть БОЛЬШОЙ смысл. Мне непонятно в чем он заключается?
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690852
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlgrechTaPaK,
В этом должен быть БОЛЬШОЙ смысл. Мне непонятно в чем он заключается?
бедолага, жалуйтесь в спортлото
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690856
vlgrech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK,
Одно дело сортировать большую таблицу на сервере, другое на клиенте.
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690859
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlgrechTaPaK,
Одно дело сортировать большую таблицу на сервере, другое на клиенте.
что за бред, сортируйте на здоровье, зачем это делать в представлении?
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690862
qqq_2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlgrechTaPaK,
В этом должен быть БОЛЬШОЙ смысл. Мне непонятно в чем он заключается?

Для больших табличек будет писец, я так думаю.
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690868
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlgrechTaPaK,
В этом должен быть БОЛЬШОЙ смысл. Мне непонятно в чем он заключается?Исключение ДОРОГОЙ операции сортировки там, где она нафиг не нужна. Еще раз - почитайте таки документацию. Ваш почти праведный гнев ничего не изменит.
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690872
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlgrechВ этом должен быть БОЛЬШОЙ смысл. Мне непонятно в чем он заключается?Вы не поверите, но представления могут использоваться не только в запросах вида "select * from MyView ..." с возвратом результата клиенту. И сортировка при этом не требуется, от слова "совсем".
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690936
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlgrech,

В 2000 работало неверно.
Какая сортировка должна победить - та, что в представлении или та, что в запросе?
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690937
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlgrechTaPaK,
В этом должен быть БОЛЬШОЙ смысл. Мне непонятно в чем он заключается?Представления придуманы для того, что бы получить псевдотаблицу, т.е. в них делаются реляционные операции и преобразования данных.
И никто не предполагал, что возникнет идея использовать их для получения отсортированного результата.
Вот так дальше и пошло.
А сейчас непонятно, что делать; конечно, функциональность серверов расширяется, но при реализации такой сортировки в представлениях возникает вопрос - когда её делать: если всегда, то будет потеря производительности даже там, где сортировка не нужна, а если не всегда, то будет путаница и непонимание.
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690943
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосовvlgrech,

В 2000 работало неверно.
Какая сортировка должна победить - та, что в представлении или та, что в запросе?
вообще-то сортировки в представлении никогда не было, был обход который заставлял выполнять сортировку, ms убрали оператор SORT при 100 PERCENT. Всё остальное по документации

авторПредложение ORDER BY используется исключительно для определения строк, возвращаемых предложениями TOP или OFFSET в определении представления. Предложение ORDER BY не гарантирует упорядочивания результатов при запросе к представлению, если оно не указано в самом запросе.
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690956
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaK,

понятно, что при неполной выборке при использовании TOP указания сортировка должна быть.

По мне так использования TOP и ORDER внутри представления может привести к неожиданным последствиям как для разработчика, так и для пользователя, особенно, если view definition или проект недоступны.
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39690958
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С другой стороны, это равносильно использованию фильтра.
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39691104
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Однако, могут прикрыть лавочку с
Код: sql
1.
TOP(SELECT 100) PERCENT
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39692571
DaniilSeryi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iapОднако, могут прикрыть лавочку с
Код: sql
1.
TOP(SELECT 100) PERCENT



Будем использовать TOP(SELECT 99+1) PERCENT

И, кстати... А заранее созданный некластерный покрывающий индекс с сортировкой по нужному полю в нужном порядке ТСу не поможет?
...
Рейтинг: 0 / 0
в MS sql 2008 перестал работать order by.
    #39692589
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaniilSeryiИ, кстати... А заранее созданный некластерный покрывающий индекс с сортировкой по нужному полю в нужном порядке ТСу не поможет?А с какого перепугу сервер всегда обязан делать Ordered Scan/Seek, если нет order by?
...
Рейтинг: 0 / 0
32 сообщений из 32, показаны все 2 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / в MS sql 2008 перестал работать order by.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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