Есть ли причина писать столбец базы данных в квадратных скобках? - PullRequest
2 голосов
/ 27 сентября 2011

Я поддерживаю базу данных, созданную другим человеком в SQL Server.В одной таблице я нашел столбец, имя которого заключено в квадратные скобки.Имя поля desc и оно хранится в таблице как [desc].Остальные поля хранятся без квадратных скобок.Есть ли какая-то особая причина / соглашение за этим выбором?

Приложения, созданные поверх Базы данных, разрабатываются либо в C #, либо в VB.NET.

Спасибо

Ответы [ 3 ]

7 голосов
/ 27 сентября 2011

Скобки (или другие идентификаторы в других механизмах баз данных) - это просто явный способ сообщить обработчику запросов, что этот термин является идентификатором объекта в базе данных.Распространенные причины включают в себя:

  1. Имена объектов, содержащие пробелы, в противном случае не смогут быть проанализированы как часть запроса, если они не заключены в квадратные скобки.анализировать (или, что еще хуже, правильно анализировать и делать неожиданные вещи).

(я полагаю, также возможно, что может быть очень незначительное улучшение производительности, поскольку двигателю не нужнопопытайтесь определить, что означает этот элемент, ему явно сказали, что это объект. Конечно, это все еще необходимо проверить, но это может быть небольшой помощью во внутренней работе.)

4 голосов
/ 27 сентября 2011

Если ваши имена содержат зарезервированное слово (например, SELECT) или пробелы, тогда вам необходимо заключить имя в [].

В вашем примере у вас есть [desc], что сокращенно от DESCENDING.

3 голосов
/ 27 сентября 2011

Например, если у вас есть поле, которое является ключевым словом, например [Дата] или [Выбрать] или в этом случае [desc]

...