Aravindba Ответов: 1

Как переименовать имя таблицы, содержащее символ точки, с помощью sp_rename


Привет , я пытаюсь переименовать имя таблицы, содержащее ".", используя sp_rename в sql server,

Например:
sp_rename N'1043_MMM.LKJ', N'1043_MMMLKJ'



я получу такую ошибку

Msg 15225, Level 11, State 1, Procedure sp_rename, Line 374
No item by the name of '[1043_MMM.LKJ]' could be found in the current database 'master', given that @itemtype was input as '(null)'.


Как это решить ?

Я не могу отбросить и создать таблицу снова,bcz она содержит значение,поэтому я хочу только переименовать.
Какие-либо специальные символы получили ограничение для создания таблицы в sql server ? если есть, пожалуйста, дайте информацию.

Вручную можно переименовать таблицу

С уважением
Аравинд

Что я уже пробовал:

если я запускаю в главной базе данных sql server также ту же ошибку.

Richard Deeming

Почему вы создаете пользовательские таблицы в master база данных?

И если это так нет в master база данных, почему вы запускаете свой sp_rename сценарий из неправильной базы данных?

Aravindba

Спасибо Вам за ответ, на самом деле выше скрипта,работающего без точки в имени таблицы,я передаю этот скрипт в тексте команды, и это соединение с текстом команды является локальной базой данных, а не главной таблицей.если я запускаю sql напрямую, без точки, он работает.

1 Ответов

Рейтинг:
0

NiteshAgarwal

Если имя вашей таблицы содержит идентификатор и вы хотите переименовать его, вам следует запустить команду wrap The tablename with double quotes (“) и использовать команду sp_rename.

Попробовать это:

процедура sp_rename Н"1043_MMM.LKJ"', Н'1043_MMMLKJ'