2013-05-30 3 views
1

я создал таблицу #cinemaдобавления колонки, хотя петли

c_name c_count 
    a  1 
    b  2 
    c  3 
    d  4 

и настольный #display

name id 

Как добавить c_name в таблицу #display в колонке через петлю, как:

name id a b c d 

вот мой код

select @ccount = COUNT(c_count) from #cinema 

set @count = 0 
while @count < @ccount 
begin 
    select @cname = c_name from #cinema 
    set @txt = 'alter table #display add ' + @cname + ' money default 0 with values' 
    exec(@txt) 
    set @count = @count+1 
end 

help me pls. спасибо

ответ

0

Попробуйте

DECLARE @dsql nvarchar(max) = N'' 
SELECT @dsql += 
    'ALTER TABLE #display ADD ' + QUOTENAME(c_name) 
+ ' money DEFAULT 0 WITH VALUES ' + CHAR(13) + CHAR(10) 
FROM #cinema 
--PRINT @dsql 
EXEC sp_executesql @dsql 

Демонстрация на SQLFiddle

Смежные вопросы