sql语句动态添加列名的问题
我建个临时表,用个循环,把查到的产品名称作为列名添加到这个临时表中,但添加列的地方报语法错误
create table #Main(产品 varchar(50))
declare @sql int
declare @sql_new float
set @sql = 1
while(@sql<= 5)
begin
select @sql_new = prodctname from product where id=@sql --@sql_new 就是新的列名
alter table #Main add @sql_new float --就是这个地方报错
set @sql_f=@sql_f+1
end
帮帮忙
------解决方案--------------------create table #t (id int)
alter table #t add c1 int
declare @c varchar(10)
set @c='c2'
exec('alter table #t add '+@c+' int')
select * from #t
/*
id c1 c2
----------- ----------- -----------
*/
drop table #t