Изменение столбцов

Область применения: SQL Server 2016 (13.x) и более поздних версий База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics AnalyticsPlatform System (PDW)

Тип данных столбца в SQL Server можно изменить с помощью SQL Server Management Studio или Transact-SQL.

Предупреждение

Изменение типа данных столбца, в котором уже есть данные, может привести к полной потере данных при преобразовании существующих данных в новый тип. Кроме того, код и приложения, которые используют измененный столбец, могут завершиться сбоем. Это касается запросов, представлений, хранимых процедур, определяемых пользователем функций и клиентских приложений. Следует иметь в виду, что возникновение ошибок происходит каскадом. Например, может произойти сбой хранимой процедуры, которая вызывает определяемую пользователем функцию, зависящую от изменяемого столбца. Внимательно рассмотрите любые изменения, которые необходимо сделать со столбцом таблицы.

Разрешения

Требуется разрешение ALTER на таблицу.

Использование SQL Server Management Studio (SSMS)

Изменение типа данных столбца с помощью SSMS

  1. В обозревателе объектов щелкните правой кнопкой мыши таблицу со столбцами, масштаб которых необходимо изменить, и выберите Конструктор.

  2. Выберите столбец, тип данных которого планируется изменить.

  3. На вкладке Свойства столбца выберите ячейку сетки для свойства Тип данных и выберите новый тип данных из раскрывающегося списка.

  4. В меню "Файл" выберите "Сохранитьимя таблицы".

Примечание.

При изменении типа данных столбца конструктор таблиц применяет длину типа данных, определенную по умолчанию для выбранного типа данных, даже если была указана другая длина. Всегда устанавливайте необходимое значение длины типа данных после того, как был указан тип данных.

Предупреждение

При попытке изменения типа данных столбца, связанного с другими таблицами, конструктор таблиц запрашивает подтверждение на внесение изменений и в столбцы других таблиц.

Использование Transact-SQL

Изменение типа данных столбца с помощью Transact-SQL

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить.

    CREATE TABLE dbo.doc_exy (column_a INT );  
    GO  
    INSERT INTO dbo.doc_exy (column_a) VALUES (10);  
    GO  
    ALTER TABLE dbo.doc_exy ALTER COLUMN column_a DECIMAL (5, 2);  
    GO  
    

Следующие шаги