SQL

MS SQL: как изменить тип столбца и создать временную таблицу

Продолжаем нашу серию статей про MS SQL. Сегодня остановимся на двух важных моментах в работе с этой СУБД:

  1. Как изменить тип данных столбца в MS SQL?
  2. Как создать временную таблицу в MS SQL?

Напомним, что MS SQL — это система управления базами данных, разработанная компанией Майкрософт. От других подобных систем отличается тем, что для запросов к базе данных используется не «чистый» SQL, а язык запросов Transact-SQL, который также разработан компанией Майкрософт. MS SQL — это СУБД, которая используется как в частном  порядке, так и предприятиями для управления огромными базами данных.

Как изменить тип столбца в MS SQL

Перед тем как изменить тип данных столбца в MS SQL, нужно осознавать возможные риски. Если проводить эту операцию над столбцами, в которых уже хранится какая-то информация, тогда можно полностью потерять эту информацию. Помимо этого изменение типа столбца может повлечь сбои в работе приложений и других таблиц, которые используют этот столбец в своих расчетах.  Но самое интересное, что при изменении типа данных работающего столбца, можно привлечь каскадные сбои в работе налаженной системы. Например, изменив тип данных столбца вы активируете сбой программы, которая его использует. Сбой в той программе активирует сбои в других системах или программах и так далее по цепочке. Поэтому, прежде чем изменить тип данных работающего столбца, нужно трезво оценить вероятные риски.

Изменить тип столбца в MS SQL можно двумя способами:

  • использовать конструктор таблиц SQL — Server Management Studio;
  • использовать язык запросов T-SQL.

Как изменить тип столбца в Server Management Studio

Server Management Studio — это программа с графическим интерфейсом, которая используется для создания и управления таблицами в MS SQL. Для того чтобы изменить тип столбца, используя эту программу, нужно:

  1. Откройте программу Server Management Studio.

  2. В «Обозревателе объектов» программы найдите таблицу, в которой нужно внести изменения.

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

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

  5. Откройте «Свойства» этого столбца и найдите пункт «Тип данных» и измените на нужный тип.

  6. Сохраните изменения.

Этот способ хорош тем, что не требует знаний языка T-SQL для работы с таблицами. Однако при первой попытке внести изменения в тип данных столбца с помощью конструктора у вас ничего не получится, потому что в конструкторе  определен параметр, мешающий вносить такие изменения. Его нужно отключить. Для этого нужно:

  • найти в основном меню раздел «Сервис»;
  • в нем отыскать подраздел «Параметры»;
  • там отыскать пункт «Конструкторы»;
  • в нем нажать на подпункт «Конструкторы таблиц и баз данных»;
  • снять «галочку» с пункта «Запретить сохранение изменений, требующих повторного создания таблицы».

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

Как изменить тип данных столбца в MS SQL, используя язык T-SQL

Для того чтобы воздействовать как-то на таблицу, нужно использовать специальную инструкцию «ALTER TABLE». Ее возможности довольно обширны при редактировании таблиц, но нас интересует как с ее помощью изменить тип данных столбца.

Шаблон использования этой инструкции для изменения типа данных столбца такой:

ALTER TABLE <Table_Name>

ALTER COLUMN <Column_Name> <новый тип данных>

 

Как создать временную таблицу в MS SQL

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

Важная особенность — наименование временной таблицы начинается с решетки «#». Если в наименовании временной таблицы стоит одна решетка — это означает, что создается локальная временная таблица. Такая таблица доступна будет только вам. Если в названии указать две решетки, тогда будет создана глобальная временная таблица. Такая таблица будет доступна всем пользователям, которые на данный момент работают с основной базой данных.

Создать локальную временную базу данных можно по такому шаблону:

CREATE TABLE #Temporary_Table

(описание столбцов таблицы)

INSERT INTO #Temporary_Table

VALUES(описание значений ячеек столбца)

 

Если во время сеанса вам нужно удалить созданную временную таблицу, тогда это делается при помощи вот такой инструкции:

DROP TABLE #Temporary_Table

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

Заключение

Работая с  MS SQL или другими СУБД, нужно уметь правильно оценивать риски при работе с таблицами, чтобы не навредить. Сегодня мы рассмотрели две важные операции:

  • как изменить тип данных столбца в  MS SQL двумя способами;
  • как создать временную таблицу.

На этом серия статей о работе с  MS SQL не заканчивается. В следующих статьях мы разберем другие возможности этой СУБД. 

Схожие статьи

SQL

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

MySQL: добавить столбец в таблицу, как переименовать и изменить поле
SQL

MySQL: добавить столбец в таблицу, как переименовать и изменить поле

SQL и NoSQL: что это, разбираемся в основных моделях баз данных
SQL

SQL и NoSQL: что это, разбираемся в основных моделях баз данных

SQL

Как обновить SQL Server правильно, чтобы ничего не поломать