Как переименовать столбец таблицы в Microsoft SQL Server на T-SQL?

Microsoft SQL Server позволяет переименовывать столбцы в таблицах уже после создания этих таблиц, что в некоторых случаях бывает очень полезно, так как Вам не нужно пересоздавать всю таблицу целиком. В этой небольшой статье я расскажу Вам, как переименовать столбец в таблице в SQL севере на языке T-SQL.

Скриншот 1

В прошлой статье, посвящённой Microsoft SQL Server, а конкретно – «Изменение таблиц в Microsoft SQL Server или как добавить, удалить, изменить столбец в таблице?» я рассказывал, как на T-SQL изменить тип данных столбца, как добавить новый столбец или удалить существующий, но в той статье я упустил один очень важный момент, я не рассказал, как переименовать столбец в таблице. Поэтому продолжаем тему изменения таблиц в Microsoft SQL Server, и сегодня я расскажу, как переименовываются столбцы в таблицах.

Переименование столбца таблицы в 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 — переименование базы данных.

Примечание!

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

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

Кроме того, для переименования объектов, конечно же, требуются соответствующие разрешения на изменения.

Если Вы хотите изучить язык T-SQL с нуля, то рекомендую почитать книгу «Путь программиста T-SQL» — это самоучитель по языку Transact-SQL для начинающих. В книге я подробно рассказываю как про основные конструкции, так и про продвинутые конструкции языка T-SQL, и последовательно перехожу от простого к сложному.

Пример переименования столбца в таблице с помощью процедуры 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;

Скриншот 2

Как видите, столбец успешно переименован.

Видео-инструкция — Переименование столбца таблицы в Microsoft SQL Server

У меня на этом все, удачи Вам, пока!

Понравилась статья? Поделиться с друзьями:
Заметки IT специалиста
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:
Нажимая на кнопку «Отправить комментарий», я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.