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

Откуда: Оттуда
Сообщений: 481
Добрый день эксперты. В 2000-2008r2 запрос вида
Select table.field as table_field from table 
order by table.table_field

Выполнялся успешно.

В 2012 ругается на отсутствие поля table_field в таблице table. Вроде бы логично, но почему работало ранее?
И возможно есть методы вернуть старую обработку запросов?
5 апр 13, 11:26    [14139170]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2012 alias в order by  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 34013
Блог
попробуйте
ALTER DATABASE ... SET COMPATIBILITY_LEVEL = 100
5 апр 13, 11:27    [14139174]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2012 alias в order by  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381
> COMPATIBILITY_LEVEL = 100

80 надо. но в 2012 он, вроде бы, уже недоступен.
5 апр 13, 11:33    [14139218]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2012 alias в order by  [new]
_Groxot_
Member

Откуда: Оттуда
Сообщений: 481
Критик,

Не помогает
5 апр 13, 11:35    [14139235]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2012 alias в order by  [new]
_Groxot_
Member

Откуда: Оттуда
Сообщений: 481
daw
> COMPATIBILITY_LEVEL = 100

80 надо. но в 2012 он, вроде бы, уже недоступен.

Да, только 90 и выше....
5 апр 13, 11:36    [14139241]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2012 alias в order by  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381
> Вроде бы логично, но почему работало ранее?

это была такая бага особенность поведения.
в 2005-ом исправили - стала ошибка выдаваться. но можно еще было установить COMPATIBILITY_LEVEL базы в 80 и жить по-старому.
в 2012 уже все. ну так, 7 лет на исправление было.
5 апр 13, 11:39    [14139255]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2012 alias в order by  [new]
_Groxot_
Member

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

т.е. вернуть это "замечательное" поведение не удастся?
5 апр 13, 12:03    [14139423]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2012 alias в order by  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381
> т.е. вернуть это "замечательное" поведение не удастся?

там всякие интересные фокусы были из-за этого поведения.

http://msdn.microsoft.com/ru-ru/library/bb510680(v=sql.105).aspx

читать сравнение уровней 80 и 90 - третья строка таблицы "При привязке ссылок столбцов в списке ORDER BY..."

раз уровень 80 в 2012-ом отменили - то вернуть такое поведение уже не удастся. теперь придется-таки править свой код.
5 апр 13, 12:16    [14139524]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить