Информация об изменениях

Сообщение Re: Почему имена не могут быть ключевыми словами? от 26.05.2016 11:55

Изменено 26.05.2016 12:10 Sinclair

Здравствуйте, Kolesiki, Вы писали:

K>Собсно, сабж. Что мешает SQL'ю выполнять запросы вида

K>
K>SELECT From FROM User WHERE ...
K>


K>В MS SQL что user, что from — ключевые слова и он постоянно ругается "ошибка синтаксиса". Он что, неспособен распарсить элементарное выражение?

Да, неспособен.
Потому, что если разрешить такие имена объектов без цитирования, то непонятно, FROM — это ключевое слово или column_alias. Непонятно, where — это ключевое слово или table_alias.
Кто вам запретит написать select user from from user, и что это будет означать?
select [dbo].[user].[from] as [from] from [dbo].[user]? или select [dbo].[from].[user] from [dbo].[from] as [user]?
Здравствуйте, Kolesiki, Вы писали:

K>Собсно, сабж. Что мешает SQL'ю выполнять запросы вида

K>
K>SELECT From FROM User WHERE ...
K>


K>В MS SQL что user, что from — ключевые слова и он постоянно ругается "ошибка синтаксиса". Он что, неспособен распарсить элементарное выражение?

Да, неспособен.
Потому, что если разрешить такие имена объектов без цитирования, то непонятно, FROM — это ключевое слово или column_alias. Непонятно, where — это ключевое слово или table_alias.
Кто вам запретит написать
select user from from user

, и что это будет означать?
select [dbo].[user].[from] as [from] from [dbo].[user]

или
select [dbo].[from].[user] from [dbo].[from] as [user]