добавление столбцов в существующую таблицу - PullRequest
0 голосов
/ 17 марта 2011

Мне нужно добавить около 600 столбцов в существующую таблицу для целей тестирования

declare @counter int
    set @counter = 1
    while @counter < 601
    begin

    ALTER TABLE Info ADD column+@counter varchar(max);
    set @counter = @counter + 1

    end

Имя столбца должно выглядеть как column1, column2 .... column600

Ответы [ 3 ]

4 голосов
/ 17 марта 2011

Так как это просто для тестирования, быстрый и грязный способ сделать это:

declare @counter int
set @counter = 1
declare @sql varchar(2000)

while @counter < 601
begin

Set @Sql = 'ALTER TABLE Info ADD column'+convert(varchar(10),@counter)+ ' varchar(max)'
Exec (@Sql)
set @counter = @counter + 1

end

Хотя мне нужно задаться вопросом почему вы бы хотели 600 столбцов в таблице

1 голос
/ 17 марта 2011

Использовать динамическое выполнение sql-

SET @str = 'ALTER TABLE Info ADD column' + CAST(@counter as varchar(5)) + ' varchar(max)';
EXEC ( @str );
GO
0 голосов
/ 17 марта 2011

использовать функцию Exec:

Declare @SQL VarChar(1000)
Declare @vary varchar(100)
Declare @final varchar(1000)

SELECT @SQL = 'ALTER TABLE '
SELECT @SQL = @SQL + @TableName
select @vary = 'add column ' + id
select @final = @sql + @vary

Exec ( @final)
GO
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...