Как изменить имя таблицы с помощью SQL-запроса?


117

Как я могу изменить имя таблицы с помощью запроса?

Я использовал следующий синтаксис, но мне не удалось найти ключевое слово rename в SQL Server 2005.

Alter table Stu_Table rename to Stu_Table_10

ALTER TABLE TABLE_NAME RENAME TO NEW_TABLE_NAME Работает только в Oracle DB.
— Renu

Ответы:


221

Используйте sp_rename:

EXEC sp_rename 'Stu_Table', 'Stu_Table_10'

Вы можете найти документацию по этой процедуре на MSDN .

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

EXEC sp_rename 'myschema.Stu_Table', 'Stu_Table_10'

9
Помните, что для sp_rename только первый параметр может принимать имя схемы, второй аргумент ДОЛЖЕН быть без имени схемы. Как и в EXEC sp_rename 'dbo.Stu_Table', 'Stu_Table_10'
— Хенрик Стаун Поульсен,

1
Комментарий Хенрика очень важен, вероятно, это должно быть частью ответа? Избавил меня от головной боли.
— CincinnatiProgrammer

65

В MySQL: -

RENAME TABLE `Stu Table` TO `Stu Table_10`

8
Вопрос о SQL Server, ваш ответ - о MySQL.
— Сэм

7
Отлично работал с MySQL.

11
Я проголосовал за, потому что этот вопрос также упоминается в Google для mysql.
— Пол Фурнель

4
Работал для меня с Mysql
— Ranganatha GV

2
+1 за ответ mysql, так как Google тоже привел меня сюда. Помните, что даже если OP отмечает ответ, который сработал для них, другие могут найти полезные альтернативные ответы, например, я.
— amonett

15

Пожалуйста, используйте это на SQL Server 2005:

sp_rename old_table_name , new_table_name

это даст вам:

Внимание: изменение любой части имени объекта может нарушить работу скриптов и хранимых процедур.

но имя вашей таблицы будет изменено.





1

Изменен Syntex для последних версий MySQL.

Поэтому попробуйте команду ПЕРЕИМЕНОВАТЬ без ОДИНАКОВЫХ ЦИТАТ в именах таблиц.

RENAME TABLE old_name_of_table TO new_name_of_table;




-2

переименовать имя таблицы:

RENAME TABLE old_tableName TO new_tableName;

например:

RENAME TABLE company_name TO company_master;

Не могли бы вы указать на документацию по SQL Server 2005, где это описано?
— Fabian Fagerholm
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.