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

Откуда:
Сообщений: 61
Добрый день, господа.

Вопрос по MSSQL 2014. Подскажите, можно ли не пользуясь командой ALTER TABLE добавлять колонки в таблицу? Например, я пытаюсь пересоздать таблицу добавив в нее необходимые колонки. При этом что бы сохранить данные таблицы выгружаю их предварительно с помощью:

bcp oknotek_new3.dbo.CRM_Rig_AccessTypes out D:\DB_MSSQL\Export\CRM_Rig_AccessTypes.dat -c -Usa


далее drop CRM_Rig_AccessTypes , затем create CRM_Rig_AccessTypes

далее:


bcp oknotek_new3.dbo.CRM_Rig_AccessTypes in D:\DB_MSSQL\Export\CRM_Rig_AccessTypes.dat -T -c


но если кол-во колонок изменилось bcp ругается, если не изменилось - заливает.

Есть ли возможность таким способом добавлять колонки?
13 май 15, 09:01    [17632095]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы при изменении структуры таблиц  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31960
tiproktikum
но если кол-во колонок изменилось bcp ругается, если не изменилось - заливает.
Нужно использовать файл формата, в котором перечислять колонки. Ну и конечно сделать колонки, для которых нет данных, допускающими NULL
13 май 15, 09:04    [17632101]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы при изменении структуры таблиц  [new]
Glory
Member

Откуда:
Сообщений: 104751
tiproktikum
Подскажите, можно ли не пользуясь командой ALTER TABLE добавлять колонки в таблицу?

В таблицу - нет

tiproktikum
Есть ли возможность таким способом добавлять колонки?

Если количество полей в файле и таблице различаются, то ознакомьтесь в хелпе со статьями
Using a Format File to Skip a Table Column
Using a Format File to Skip a Data Field
13 май 15, 09:07    [17632111]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы при изменении структуры таблиц  [new]
LexusR
Member

Откуда: Novosibirsk
Сообщений: 1887
tiproktikum
Добрый день, господа.

Вопрос по MSSQL 2014. Подскажите, можно ли не пользуясь командой ALTER TABLE добавлять колонки в таблицу? Например, я пытаюсь пересоздать таблицу добавив в нее необходимые колонки. При этом что бы сохранить данные таблицы выгружаю их предварительно с помощью:

bcp oknotek_new3.dbo.CRM_Rig_AccessTypes out D:\DB_MSSQL\Export\CRM_Rig_AccessTypes.dat -c -Usa


далее drop CRM_Rig_AccessTypes , затем create CRM_Rig_AccessTypes

далее:


bcp oknotek_new3.dbo.CRM_Rig_AccessTypes in D:\DB_MSSQL\Export\CRM_Rig_AccessTypes.dat -T -c


но если кол-во колонок изменилось bcp ругается, если не изменилось - заливает.

Есть ли возможность таким способом добавлять колонки?



Я так понял что
1. вы выгружаете данные
2. добавляете колонки
3. пытаетесь назад залить данные (со старым набором колонок)

а не проще тогда ничего не выгружать и не загружать а просто добавить колонки

ALTER TABLE oknotek_new3.dbo.CRM_Rig_AccessTypes ADD NewIntColumn1 int,NewVarcharColumn1 varchar(100),.... и т п
13 май 15, 09:34    [17632214]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы при изменении структуры таблиц  [new]
tiproktikum
Member

Откуда:
Сообщений: 61
tiproktikum
Есть ли возможность таким способом добавлять колонки?

Если количество полей в файле и таблице различаются, то ознакомьтесь в хелпе со статьями
Using a Format File to Skip a Table Column
Using a Format File to Skip a Data Field[/quot]


идею понял, спасибо
13 май 15, 09:37    [17632232]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы при изменении структуры таблиц  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8813
tiproktikum, неясно - для чего вообще изменять структуру данных и абсолютно неясно - для чего перекачивать содержимое таблицы при добавлении колонок.
13 май 15, 12:13    [17633200]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы при изменении структуры таблиц  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
tiproktikum
Добрый день, господа.

Вопрос по MSSQL 2014. Подскажите, можно ли не пользуясь командой ALTER TABLE добавлять колонки в таблицу?
Нелюбовь к ALTER TABLE на генетическом уровне?

Но все равно, не понятно зачем два раза грузить данные туда-обратно то, когда можно один?
Создайте новую таблицу нужной структуры, перелейте данные, удалите основную таблицу и переименуйте новую.
14 май 15, 22:28    [17642307]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы при изменении структуры таблиц  [new]
o-o
Guest
Mind
Создайте новую таблицу нужной структуры, перелейте данные

ну не все же умеют перечислять нужные поля в INSERT :)
14 май 15, 23:00    [17642446]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы при изменении структуры таблиц  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1836
tiproktikum,

а чем вам не подходит SELECT INTO, раз данные все равно переливаете обратно в таблицу?
14 май 15, 23:46    [17642560]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить