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

Откуда:
Сообщений: 20504
Добрый день!
Вроде бы в MS SQL нельзя использовать ORDER BY внутри View.
Однако, в дизайнере вьюшек в Management Studio есть опция Sort Type и Sort Order. При установке порядка сортировки автоматом появляется ORDER BY во вьюшке, однако, на порядок сортировки данная возможность влияния не оказывает.
Подскажите, пожалуйста, что означает ORDER BY внутри View в данном случае - задел MS на следующие версии или что-то иное?
11 мар 12, 15:14    [12225848]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
defragmentator
Добрый день!
Вроде бы в MS SQL нельзя использовать ORDER BY внутри View.
Однако, в дизайнере вьюшек в Management Studio есть опция Sort Type и Sort Order. При установке порядка сортировки автоматом появляется ORDER BY во вьюшке, однако, на порядок сортировки данная возможность влияния не оказывает.
Подскажите, пожалуйста, что означает ORDER BY внутри View в данном случае - задел MS на следующие версии или что-то иное?
Она нужна для кляузы top и более ни для чего.
11 мар 12, 15:17    [12225866]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
defragmentator,

там, небось, не ORDER BY появляется, а TOP ..... ORDER BY ...?
Microsoft считает, что в конструкции TOP "ORDER BY" стоит не для сортировки, а для точного указания,
какие же строки должны попадать в результат запроса.
Однако, до 2005-го сервера заодно получалась сортировка с помощью конструкции TOP 100 PERCENT ... ORDER BY
Начиная с 2005-ой версии сервер стал хитрее и не обращает внимания на 100 PERCENT вместе с ORDER BY

Программисты оказались ещё хитрее и нашли "дыру": SELECT TOP(SELECT 100) PERCENT ... ORDER BY
Ждёмс, когда Microsoft и её заштопат...
11 мар 12, 15:22    [12225897]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
defragmentator
Member

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

Появляется
SELECT TOP (100) PERCENT ...  ORDER BY ...

TOP 100% - это то же, что и всё целиком.
Должно сортировать.
Выполнил скрипт вне вьюшки - всё сортирует, а вовне - никакого эффекта.
Хотите, сами попробуйте.
11 мар 12, 15:29    [12225936]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
внутри вьюшки - эффекта нет, хотя и ошибки тоже
11 мар 12, 15:30    [12225942]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
http://support.microsoft.com/kb/926292
11 мар 12, 15:31    [12225945]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Knyazev Alexey
http://support.microsoft.com/kb/926292
Ключевая фраза:
Additionally, you must change the compatibility level of the database that contains the view to 80.
defragmentator, что-то неясно, а версия сервера-то какая?
11 мар 12, 15:40    [12226010]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
iap, это походу была временная заплатка, чтобы "благодарные" клиенты отвязались))).
__________________________

То ТS:
Краткий вывод прост:
TOP 100 PERCENT ... ORDER BY

во вьюхах для серверов >=2005 использовать нельзя крайне не желательно (даже не хочу проверять на R2 и 2012)
SELECT TOP(SELECT 100) PERCENT ... ORDER BY

применять опасно))), как и прочие хитрые сортировки в тех же оконных функциях, особенно если имеется несколько ранжирований, нумераций в запросе.
11 мар 12, 15:51    [12226094]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
defragmentator
Member

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

Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) Jul 9 2008 14:43:34 Copyright (c) 1988-2008 Microsoft Corporation Developer Edition on Windows NT 5.2 <X86> (Build 3790: Service Pack 2) (VM)
11 мар 12, 16:47    [12226558]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
ZVER-10
Member

Откуда:
Сообщений: 506
значит внутри вьюшки сортировать никак?
3 апр 12, 10:49    [12355414]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
ZVER-10
Member

Откуда:
Сообщений: 506
или все же есть способ?
3 апр 12, 18:21    [12359645]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
ZVER-10
или все же есть способ?

по определению бредовая идея...используйте явный order by
3 апр 12, 18:28    [12359694]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
ZVER-10
Member

Откуда:
Сообщений: 506
и в CTE тоже нельзя оказывается.
3 апр 12, 18:29    [12359701]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
ZVER-10
Member

Откуда:
Сообщений: 506
Knyazev Alexey,
"явный"-не догнал
3 апр 12, 18:30    [12359708]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
ZVER-10
Knyazev Alexey,
"явный"-не догнал


selectfrom view 
order by ...
3 апр 12, 18:32    [12359719]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
ZVER-10,

вам же сказали - "применять опасно"
сортировать надо либо при помощи order by в хранимке или клиентском запросе, либо вообще на стороне клиента, зависит от задачи
3 апр 12, 18:32    [12359721]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
ZVER-10
Member

Откуда:
Сообщений: 506
Shakill,Knyazev Alexey
ну вывод: во вьюхе нель-зя. "применять опасно".-и не сможем применять, даже если захотим.
3 апр 12, 18:39    [12359789]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
ZVER-10
Member

Откуда:
Сообщений: 506
там order by нельзя, тут max() нельзя, а табличные переменный зло. триггер вообще не стоит....итд итп. и живи как нибудь. я понимаю, я новичок но 1-триггер уже 3-месяца пишу и никак
3 апр 12, 18:45    [12359820]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
ZVER-10
там order by нельзя, тут max() нельзя, а табличные переменный зло. триггер вообще не стоит....итд итп. и живи как нибудь. я понимаю, я новичок но 1-триггер уже 3-месяца пишу и никак

люди за 3 месяца курсовые пишут...вам бы книги почитать, а не на форуме время тратить
3 апр 12, 18:47    [12359833]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
ZVER-10
Member

Откуда:
Сообщений: 506
Knyazev Alexey,
может я тупой, вернее не может а точно. но тут обсуждали тему про моего триггера, еслиб все было так просто, ответили бы знатоки давно. все давали ответы которые хороводом кружатся во круг до около. а конкретно ничего.
3 апр 12, 18:54    [12359884]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
ZVER-10
ответили бы знатоки давно. все давали ответы которые хороводом кружатся во круг до около. а конкретно ничего.

все знатоки сидят сейчас книги читают...на форуме одни бездельники...поэтому рекомендую вам заняться чтением базовой литературы
3 апр 12, 18:59    [12359913]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
ZVER-10
Member

Откуда:
Сообщений: 506
Knyazev Alexey
все знатоки сидят сейчас книги читают...на форуме одни бездельники...поэтому рекомендую вам заняться чтением базовой литературы

я с вами не согласен, думаю все же есть тут люди которые соображают. а читать, я тоже читаю. а что вы скажете на счет того что сортировка во вьюхе можно было в скл 2000 и кто то использовал и как им быть теперь?
3 апр 12, 19:07    [12359956]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
ZVER-10
Member

Откуда:
Сообщений: 506
а вообще то майкрософт дурит нас всех, а мы сиди и говорим , что так надо. не успеешь освоит чего-то и раз, на тебе новая версия и новая правила. нам до конца жизни читать-читать. жена, дети, отдых, духовное развитие нам не нужны
3 апр 12, 19:13    [12359976]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
ZVER-10
и как им быть теперь?


писАть хороший код
3 апр 12, 19:13    [12359982]     Ответить | Цитировать Сообщить модератору
 Re: ORDER BY во View  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
ZVER-10
а вообще то майкрософт дурит нас всех, а мы сиди и говорим , что так надо. не успеешь освоит чего-то и раз, на тебе новая версия и новая правила


ага...неожиданно...с 2005ого
3 апр 12, 19:14    [12359985]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить