Microsoft SQL Server позволяет переименовывать столбцы в таблицах уже после создания этих таблиц, что в некоторых случаях бывает очень полезно, так как Вам не нужно пересоздавать всю таблицу целиком. В этой небольшой статье я расскажу Вам, как переименовать столбец в таблице в SQL севере на языке T-SQL.
В прошлой статье, посвящённой Microsoft SQL Server, а конкретно – «Изменение таблиц в Microsoft SQL Server или как добавить, удалить, изменить столбец в таблице?» я рассказывал, как на T-SQL изменить тип данных столбца, как добавить новый столбец или удалить существующий, но в той статье я упустил один очень важный момент, я не рассказал, как переименовать столбец в таблице. Поэтому продолжаем тему изменения таблиц в Microsoft SQL Server, и сегодня я расскажу, как переименовываются столбцы в таблицах.
Заметка! Начинающим рекомендую посмотреть мой видеокурс по T-SQL.
Переименование столбца таблицы в Microsoft SQL Server
Переименовать столбец таблицы в Microsoft SQL Server можно как в графическом конструкторе SSMS, так и на языке T-SQL. Способ с использованием конструктора, я думаю, понятен, т.е. нужно просто открыть конструктор, указать новое имя столбца и сохранить изменения. Если Вы не знаете, как работать с конструктором, то прочитайте вышеупомянутую статью про изменение таблиц и принцип станет понятен. А вот способ с использованием языка T-SQL не так очевиден, ведь столбцы в таблицах переименовываются с помощью системной хранимой процедуры sp_rename.
Системная хранимая процедура sp_rename
sp_rename — системная хранимая процедура, которая позволяет изменять имя пользовательского объекта базы данных. Таким объектом может выступать таблица, индекс, столбец таблицы или псевдоним типа данных.
Синтаксис sp_rename
sp_rename @objname, @newname, @objtype
где
- @objname – Текущее имя объекта. В случае со столбцом это имя указывается в формате «таблица.столбец»;
- @newname – Новое имя объекта;
- @objtype – Тип объекта. В случае переименования таблиц параметр указывать не требуется. Может принимать следующие значения:
- COLUMN – переименование столбцов;
- INDEX – переименование индексов;
- USERDATATYPE — переименование пользовательских типов данных;
- DATABASE — переименование базы данных.
Примечание!
Следует отметить, что изменить имя объекта можно только в текущей базе данных, в которой запущена процедура, изменять имена объектов, которые расположены в других базах, нельзя.
Также переименование таблицы или столбца не приведет к автоматическому переименованию ссылок на эту таблицу или столбец, т.е. необходимо вручную изменить любые объекты, которые ссылаются на переименованный объект.
Кроме того, для переименования объектов, конечно же, требуются соответствующие разрешения на изменения.
Заметка! Если Вас интересует SQL и T-SQL, рекомендую посмотреть мои видеокурсы по T-SQL, с помощью которых Вы «с нуля» научитесь работать с SQL и программировать с использованием языка T-SQL в Microsoft SQL Server.
Пример переименования столбца в таблице с помощью процедуры sp_rename
Для примера давайте переименуем столбец Price таблицы Goods на ProductPrice. Таблица расположена в базе данных TestDB. В качестве SQL сервера у меня выступает — Microsoft SQL Server 2017 Express.
USE TestDB; GO SELECT * FROM Goods; GO EXEC sp_rename 'Goods.Price', 'ProductPrice', 'COLUMN'; GO SELECT * FROM Goods;
Как видите, столбец успешно переименован.
Видео-инструкция — Переименование столбца таблицы в Microsoft SQL Server
У меня на этом все, удачи Вам, пока!
Приглашаю всех желающих пройти мои онлайн-курсы по изучению языка T-SQL – https://self-learning.ru/courses/t-sql
На курсах используется моя авторская последовательная методика обучения и рассматриваются все конструкции языка SQL и T-SQL. Каждый курс включает огромное количество материалов: видео, текстовый материал, тесты, домашние задания, скрипты, а также сертификат о прохождении.
На курсах Вы можете заниматься в комфортном для себя темпе не выходя из дома в любое удобное для Вас время.