Имена таблиц / столбцов заключены в квадратные скобки, хотя их имена состоят из допустимых символов - PullRequest
2 голосов
/ 22 мая 2010

Квадратные скобки позволяют вам использовать имена для столбцов или псевдонимов, которые содержат символы, недопустимые для имен столбцов или псевдонимов.

a) Я заметил, что часто имена таблиц и столбцов заключаются в квадратные скобкидаже если их имена состоят из совершенно законных символов.Почему это так?

б) Насколько я знаю, квадратные скобки, заключающие имя объекта, на самом деле не являются частью этого имени.Таким образом, если мы создадим таблицу с именем [A]:

CREATE TABLE [A] ( … )

, мы сможем впоследствии ссылаться на нее без использования скобок:

SELECT * FROM A

Но почему при попытке попробовать то же самоессылаться на столбец KEY из таблицы, возвращаемой функцией CONTAINSTABLE?А именно, если я опускаю скобки, заключающие имя столбца, я получаю сообщение об ошибке:

SELECT ct.KEY   
FROM CONTAINSTABLE(fullText,*,'some_string') as ct

thanx

Ответы [ 2 ]

1 голос
/ 22 мая 2010

Скобки предназначены не только для допустимых символов, но и для использования зарезервированных слов в именах столбцов и т. Д.

1 голос
/ 22 мая 2010

KEY - зарезервированное слово в SQL, поэтому в скобках необходимо использовать его в качестве имени столбца.

Я думаю, что большую часть времени, когда вы видите лишние квадратные скобки, вполне может быть код, сгенерированный инструментом. Management Studio включает их при создании некоторых сценариев.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...