Переименование столбцов (ядро СУБД)
Область применения: SQL Server 2016 (13.x) и более поздних версий База данных SQL Azure Управляемый экземпляр SQL Azure
Столбец таблицы в SQL Server можно переименовать с помощью SQL Server Management Studio или Transact-SQL.
Ограничения
Переименование столбца не выполняет автоматическое переименование ссылок на этот столбец. Необходимо вручную изменить все объекты, которые ссылаются на переименованный столбец. Например, если переименован столбец таблицы и на этот столбец имеется ссылка в триггере, то необходимо изменить триггер, указав новое имя столбца. Используйте sys.sql_expression_dependencies , чтобы составить список зависимостей для объекта перед его переименованием.
Переименование столбца не обновляет метаданные для любых объектов, которые SELECT
все столбцы (с помощью *
) из этой таблицы автоматически обновляются. Например, если переименовать столбец таблицы, а этот столбец ссылается на представление или функцию, не привязанную к схеме, которая выбирает все столбцы (используя *
), метаданные представления или функции продолжают отражать исходное имя столбца. Обновите метаданные с помощью sp_refreshsqlmodule или sp_refreshview.
Разрешения
Требуется ALTER
разрешение на объект.
Использование SQL Server Management Studio
Переименование столбца в обозревателе объектов
- В обозревателе объектов подключитесь к экземпляру ядра СУБД.
- В обозревателе объектовщелкните правой кнопкой мыши таблицу, в которой нужно переименовать столбцы, и выберите пункт Переименовать.
- Введите новое имя столбца.
Переименование столбца с помощью конструктора таблиц
- В обозревателе объектовщелкните правой кнопкой мыши таблицу, в которой нужно переименовать столбцы, и выберите пункт Конструирование.
- В разделе Имя столбцавыберите имя, которое нужно изменить, и введите новое.
- В меню Файл выберите пункт Сохранить имя таблицы.
Вы также можете изменить имя столбца на вкладке "Свойства столбца". Выберите столбец, имя которого нужно изменить и введите новое значение для имени.
Использование Transact-SQL
Переименование столбца
В следующем примере выполняется переименование столбца ErrorTime
в таблице dbo.ErrorLog
базы данных AdventureWorksLT
на столбец ErrorDateTime
.
EXEC sp_rename 'dbo.ErrorLog.ErrorTime', 'ErrorDateTime', 'COLUMN';
Обратите внимание на предупреждение о выходных данных и убедитесь, что другие объекты или запросы не разбиты:
Caution: Changing any part of an object name could break scripts and stored procedures.
Дополнительные сведения см. в sp_rename.