#sql-server #database #backend
Вопрос:
У меня в базе данных несколько таблиц. Все мои таблицы отображают выходные данные с использованием запроса select вместо только 1 таблицы «случай». в нем также есть данные и столбцы, но когда я использую его в своем запросе, он показывает синтаксическую ошибку. Я также прикрепил картинку, на которой есть список таблиц и простой запрос. Этот код разработан не мной, поэтому я не уверен, почему он показывает ошибку. Есть ли какие-либо ограничения, которые мы можем установить, чтобы они не могли использоваться в запросах?
Комментарии:
1. Обратите внимание, что SSMS-это цветовое кодирование заявления для вас — это действительно важная подсказка.
Ответ №1:
CASE
является зарезервированным ключевым словом в SQL Server. Поэтому вы должны избегать его в двойных скобках:
SELECT * FROM dbo.[Case];
Но лучшая практика именования диктует, что мы должны избегать именования объектов базы данных с использованием зарезервированных ключевых слов. Так что не называйте свои столы CASE
.
Комментарии:
1. Совершенно идеальный ответ. Решил мою проблему. Спасибо, Приятель!
Ответ №2:
Зарезервированные слова не рекомендуется использовать в качестве имен базы данных, таблицы, столбца, переменной или других объектов. Если вы хотите использовать зарезервированное слово, используемое в качестве имени объекта в стандартном синтаксисе ANSI, оно должно быть заключено в двойные кавычки ИЛИ » []», чтобы Реляционный механизм (в зависимости от того, что это такое) мог использовать это слово как объект, а не как ключевое слово в данном контексте. Вот пример кода.
SELECT * FROM dbo."Case"
Или
SELECT * FROM dbo.[Case]
Комментарии:
1. Совершенно идеальный ответ. Решил мою проблему. Спасибо, Приятель!