Почему среда SQL Server Management Studio создает код в квадратных скобках?
при генерации кода/скриптов,
-
Почему среда SQL Server Management Studio генерирует код, используя квадратные скобки, а не двойные кавычки?
ВЫБЕРИТЕ [NAME] ИЗ [TABLE]
-
и есть ли способ (настройка/запись реестра) настроить его на использование двойных кавычек (стандарт) вместо этого?
ВЫБЕРИТЕ " ИМЯ "ИЗ " ТАБЛИЦЫ"
это очень функция MSFT-ty, учитывая, что все их в документации теперь указаны двойные кавычки (см. этой)
3 ответов
почему sql-server (management studio) генерирует код, используя квадратные скобки?
ВЫБЕРИТЕ [NAME] ИЗ [TABLE]
чтобы справиться с именами, которые являются зарезервированными словами или содержат пробелы.
квадратные скобки-это собственный способ обернуть идентификаторы. Они асимметричны и могут быть непревзойденными, в то время как кавычки симметричны и должны быть сопоставлены (или удвоены, чтобы включить их в название):
CREATE TABLE [[test] (id INT)
CREATE TABLE ["test] (id INT)
DROP TABLE "[test"
DROP TABLE """test"
ваша ссылка объясняет, почему, по крайней мере для меня. Скобки не зависят от параметра, но действительность " зависит от параметра QUOTED_IDENTIFIER.
чтобы ответить на другую половину вашего вопроса, в SQL Server Management Studio есть обходной путь с командой Replace All (Ctrl+H):
- найти:
[\[\]]
- заменить на:
"
- Проверьте " Use: "и выберите"регулярные выражения"
- Нажмите "Заменить Все"
имейте в виду, что это также заменит вхождения скобок в вашем комментарии.