我可以使用来自数据库的字段名创建表吗?我有一个名为" field_names"并决定表中应该有哪个列名。根据该表的结果,我需要使用这些字段在数据库中创建一个表。
答案 0 :(得分:0)
也许这样的事情......虽然我认为整个概念是一个可怕的想法
declare @columnNames table (id int identity(1,1), cname varchar(256))
insert into @columnNames
values
('Column1')
,('AnotherColumn')
,('Third Column')
declare @i int = 1
declare @max_i int = (select max(id) from @columnNames)
declare @sql varchar(max)
set @sql = 'create table #someNewTable( '
while @i <= @max_i
begin
set @sql = @sql + (select QUOTENAME(cname) from @columnNames where id = @i) + ' int, '
set @i = @i + 1
end
set @sql = left(@sql,len(@sql) - 1) + ')'
print @sql
--exec(@sql)
注意,您还需要添加任何约束和索引......