Запрос SQL Server для создания базы данных дает мне ошибку, когда я включаю числовые символы в имя базы данных
У меня проблемы с запуском простого SQL-запроса в Microsoft SQL Server 2005 для создания базы данных, и я не уверен, почему.
Когда я запускаю этот запрос
CREATE DATABASE 4444-virtual2
Я получаю эту ошибку
Неверный синтаксис около '4444'.
Что конкретно мне нужно указать, если я создаю таблицу базы данных с числовыми значениями в имени? Или я что-то забыл?
2 ответа
Имена баз данных должны начинаться с буквы, подчеркивания, знака или цифры:
Первый символ должен быть одним из следующих:
Буква в соответствии со стандартом Unicode 3.2. Определение букв Unicode включает латинские символы от a до z, от A до Z, а также буквенные символы из других языков.
Подчеркивание (_), знак (@) или число (#).
Некоторые символы в начале идентификатора имеют особое значение в SQL Server. Обычный идентификатор, начинающийся со знака at, всегда обозначает локальную переменную или параметр и не может использоваться в качестве имени любого другого типа объекта. Идентификатор, который начинается со знака числа, обозначает временную таблицу или процедуру. Идентификатор, который начинается со знака двойной цифры (##), обозначает глобальный временный объект. Хотя знак числа или знак двойного числа могут использоваться для начала имен других типов объектов, мы не рекомендуем эту практику.
Некоторые функции Transact-SQL имеют имена, начинающиеся с двойного знака (@@). Во избежание путаницы с этими функциями не следует использовать имена, начинающиеся с @@.
Если вы не хотите ограничивать каждое использование имени двойными кавычками "4444-virtual2"
или скобки [4444-virtual2]
,
Вы все еще можете создать базу данных с этим именем, но вам нужно заключить ее в кавычки или скобки. например, это работает:
CREATE DATABASE [4444-virtual2]
или это:
CREATE DATABASE "4444-virtual2"