Переименование таблиц (компонент Database Engine)
Переименуйте таблицу в базе данных SQL Server, Управляемый экземпляр SQL Azure или Azure SQL.
Чтобы переименовать таблицу в Azure Synapse Analytics или Parallel Data Warehouse, используйте команду RENAME OBJECT.
Каждое переименование таблицы следует тщательно планировать. Если существующие запросы, представления, определяемые пользователем функции, хранимые процедуры или программы ссылаются на таблицу, изменение имени таблицы делает эти объекты недействительными.
ограничения
Переименование таблицы не приводит к автоматическому переименованию ссылок на эту таблицу. Необходимо вручную изменить все объекты, которые ссылаются на переименованную таблицу. Например, если переименована таблица и на эту таблицу имеется ссылка в триггере, то необходимо изменить триггер, указав новое имя таблицы. Используйте представление каталога sys.sql_expression_dependencies , чтобы составить список зависимостей для таблицы перед переименованием.
Разрешения
Требуется разрешение ALTER на таблицу.
Использование SQL Server Management Studio
Переименование таблицы
- В обозреватель объектов щелкните правой кнопкой мыши таблицу, которую нужно переименовать, и выберите в контекстном меню пункт Конструктор.
- В меню Просмотр выберите команду Свойства.
- В поле Имя окна Свойства введите новое имя таблицы.
- Чтобы отменить это действие, нажмите клавишу ESC перед тем, как выйти из этого поля.
- В меню Файл выберите Сохранить имя таблицы.
Переименование таблицы
- В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine.
- На стандартной панели выберите пункт Создать запрос.
- В следующем примере столбец SalesTerritory в таблице SalesTerr переименовывается в Sales . Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить.
USE AdventureWorks2022; GO EXEC sp_rename 'Sales.SalesTerritory', 'SalesTerr';
Синтаксис sp_rename для @objname должен включать схему старого имени таблицы, но @newname не включать имя схемы при задании нового имени таблицы.
Дальнейшие действия
- sp_rename (Transact-SQL)
- sys.sql_expression_dependencies
Переименование таблицы БД запросом SQL (RENAME TABLE)
Задача переименовать таблицу в готовой базе данных возникает не часто, но все же случается. Например, при переносе БД или может быть принято решение о переименовании в связи с логикой проекта.
Некоторые СУБД предоставляют функционал, где можно изменить название таблицы специальными формами. Здесь все просто. Но иногда такой возможности нет, и нам на помощь приходят богатые возможности SQL-запросов.
Для обеспечения этой возможности, в SQL имеется команда RENAME TABLE. В общем виде такой запрос выглядит следующим образом:
RENAME TABLE название_таблицы TO новое_название_таблицы
Например, если мы хотим заменить старое название таблицы tovari и дать ей новое имя products, достаточно будет выполнить следующий запрос:
RENAME TABLE tovari TO products
Как переименовать таблицу в sql
Для этого используется запрос ALTER TABLE . Давайте сразу посмотрим на пример. Он довольно простой.
ALTER TABLE old_table_name RENAME TO new_table_name; -- мы переименовали таблицу old_table_name в new_table_name
Как в sql переименовать таблицу
Операция переименования должна осуществляться как атомарная, т.е. при выполнении переименования никакому другому потоку не разрешается доступ к указанным таблицам. Благодаря этому возможно замещение таблицы пустой таблицей:
CREATE TABLE new_table (. ); RENAME TABLE old_table TO backup_table, new_table TO old_table;
Переименование производится слева направо. Таким образом, для обмена именами между двумя таблицами необходимо выполнить следующие действия:
RENAME TABLE old_table TO backup_table, new_table TO old_table, backup_table TO new_table;
Для двух баз данных, находящихся на одном и том же диске, можно также осуществлять обмен именами:
RENAME TABLE current_db.tbl_name TO other_db.tbl_name;
При выполнении команды RENAME не должны иметь место заблокированные таблицы или активные транзакции. Необходимо также иметь привилегии ALTER и DROP для исходной таблицы и привилегии CREATE и INSERT — для новой.
Если MySQL сталкивается с какой-либо ошибкой при переименовании нескольких таблиц, то произойдет обратное переименование для всех переименованных таблиц, чтобы вернуть все в исходное состояние.
Оператор RENAME TABLE был добавлен в MySQL 3.23.23.
