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

Откуда:
Сообщений: 5
Помогите! Мне надо добавить 2 поля(одни и те же) во все таблицы базы.
Таблиц - около 200. Как добавить поля не через дизайнер и для всех таблиц?
4 авг 03, 16:27    [287559]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить поля не через дизайнер и для всех таблиц  [new]
Genady
Member

Откуда: Москва
Сообщений: 2005
https://www.sql.ru/articles/mssql/01061601.shtml
4 авг 03, 16:33    [287579]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить поля не через дизайнер и для всех таблиц  [new]
Киселев Сергей
Member

Откуда:
Сообщений: 102
declare @tablename nvarchar(4000), @sql varchar(8000)
declare AllTables cursor for select Name from sysobjects where (type='U')and(Name<>'dtproperties')
open AllTables
while 1=1
begin
fetch AllTables into @tablename
if @@fetch_status = - 1 break
if @@fetch_status = - 2 continue
set @sql = 'alter '+@tablename + ' add field1 int, field2 int'
exec (@sql)
end
deallocate AllTables

Возможны ошибки, скрипт не проверял, но думаю смысл понятен.
4 авг 03, 16:36    [287593]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить поля не через дизайнер и для всех таблиц  [new]
KOLCHOZ_POSTEVENT
Guest
Согласен.
Только строчку с
exec (@sql)
Я бы советовал поменять на
select @sql
Получить все команды на выход,скопировать в файл.
Проверить,как работает одна из них,а потом запускать остальное.
4 авг 03, 16:46    [287614]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить поля не через дизайнер и для всех таблиц  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31604
exec sp_MSforeachtable 'alter table ? add field1 int null, field2 int null'
4 авг 03, 17:01    [287643]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить поля не через дизайнер и для всех таблиц  [new]
Маринна
Member

Откуда:
Сообщений: 5
Большое спасибо всем!!! Получилось.
5 авг 03, 09:57    [288148]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить