Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Создание колонки в TSQL  [new]
R-Magistr
Member

Откуда:
Сообщений: 356
Здравствуйте.
Задача: добавить в уже имеющуюся таблицу новый столбец.
Вроде как это делается просто:
ALTER TABLE Employees ADD COLUMN middle_name CHAR(10)

но это хорошо работает в MySql, почему создаю эту тему, порылся в инете и нашёл какой-то странный способ, в котором говорится, что новые столбцы в уже имеющуюся таблицу в TSql добавляют только через временную таблицу, вроде бред какой-то
Вопрос: Верным ли будет добавление нового столбца в таблицу указанным мной выше способом в формате языка TSql, или там и правда надо изворачиваться через временную таблицу? и как в обоих случаях будут вести себя ключи к табличке?
13 фев 14, 14:54    [15563117]     Ответить | Цитировать Сообщить модератору
 Re: Создание колонки в TSQL  [new]
Glory
Member

Откуда:
Сообщений: 104751
R-Magistr
Верным ли будет добавление нового столбца в таблицу указанным мной выше способом в формате языка TSql

Будет

R-Magistr
или там и правда надо изворачиваться через временную таблицу?

не надо

R-Magistr
и как в обоих случаях будут вести себя ключи к табличке?

Никак не будут. Им все равно.
13 фев 14, 14:57    [15563137]     Ответить | Цитировать Сообщить модератору
 Re: Создание колонки в TSQL  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31959
R-Magistr
орылся в инете и нашёл какой-то странный способ, в котором говорится, что новые столбцы в уже имеющуюся таблицу в TSql добавляют только через временную таблицу, вроде бред какой-то
Это делают для того, что бы задать некий порядок перечисления полей в таблице. Обычно этого не надо, так что лучше добавлять через ALTER TABLE.
13 фев 14, 15:28    [15563372]     Ответить | Цитировать Сообщить модератору
 Re: Создание колонки в TSQL  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
R-Magistr,

временную таблицу используют когда хотят добавить поле в середину списка полей.
13 фев 14, 15:33    [15563411]     Ответить | Цитировать Сообщить модератору
 Re: Создание колонки в TSQL  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
WarAnt
R-Magistr,

временную таблицу используют когда хотят добавить поле в середину списка полей.
Не только. При добавлении поля фиксированной длины или not-null поля в большую таблицу быстрее сделать новую таблицу и перелить данные балком, чем сначала расщеплять все страницы при добавлении поля, а потом еще и ребилд кластерному индексу делать.

Хотя с дефолтом в 2012 уже сделали фишку, чтобы при добавлении поля не менять данные.

Сообщение было отредактировано: 13 фев 14, 16:50
13 фев 14, 16:47    [15563867]     Ответить | Цитировать Сообщить модератору
 Re: Создание колонки в TSQL  [new]
R-Magistr
Member

Откуда:
Сообщений: 356
Glory,
Когда делаю вот так:
alter table AVTO_POKR_h add column date_open datetime;
alter table avto_pokr_h add column struct_division type varchar(200);

выдаёт ошибку:
Incorrect syntax near the keyword 'column'.

на обе строчки
14 фев 14, 07:15    [15565814]     Ответить | Цитировать Сообщить модератору
 Re: Создание колонки в TSQL  [new]
Ruuu
Member

Откуда: Иркутск
Сообщений: 4272
R-Magistr,

alter table AVTO_POKR_h add date_open datetime;
alter table avto_pokr_h add struct_division type varchar(200);

http://msdn.microsoft.com/en-us/library/ms190273.aspx#add
14 фев 14, 07:23    [15565822]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить