动态的创建表的sql,并把查询的结果插入该表

来源:互联网 发布:卡夫卡变形记 知乎 编辑:程序博客网 时间:2024/05/29 17:15

以sqlserver 为例

 

declare @temptable nvarchar(20)

declare @createtable nvarchar(200)

declare @typename nvarchar(20)

declare @tablename nvarchar(20)


declare @selectsql nvarchar(100)

set @temptable = 'A_Type_zcfgT'--新建的表名

set @typename = 'b_type' --一个字段

set @tablename = 'zcfgT'   --表名

--建表
begin

set @createtable='create table '+ @temptable+' (id_ int identity(1,1),typename nvarchar(32))'

print @createtable

exec(@createtable)

end

--查询

begin

set @selectsql='select  distinct('+@typename+ ')  from  '+@tablename

   print @selectsql

end

--插入
begin

set @createtable='insert into  '+@temptable+' '+ @selectsql

print @createtable

exec(@createtable)

end

原创粉丝点击