首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

动态查询后的结果,再存到其他表里,如何做

2013-11-09 
动态查询后的结果,再存到其他表里,怎么做?create table a(名称 varchar(50),数车加工varchar(50),加工中心

动态查询后的结果,再存到其他表里,怎么做?

create table a
(
  名称 varchar(50),
  数车加工  varchar(50),
  加工中心  varchar(50),
  去毛  varchar(50),
  气试  varchar(50),

)

insert into a values('A','是','否','是','是')

declare @sql varchar(8000)
select @sql = isnull(@sql + ' union all ' , '' ) + ' select 名称 , [是否] = ' + quotename(Name , '''')  + ' from a'
 from syscolumns 
where  ID = object_id('a')
order by colid asc
exec(@sql + ' order by 名称 ')
--这个结果我想存到其他表里

[解决办法]
象这种来自同一个表的数据,用得着动态sql语句吗,不用还简单,用了还麻烦
[解决办法]
增加一个新表 new_a,然后把exec执行的结果直接插入到new_a表中:

create table a
(
  名称 varchar(50),
  数车加工  varchar(50),
  加工中心  varchar(50),
  去毛  varchar(50),
  气试  varchar(50),

)

insert into a values('A','是','否','是','是');


--新建一个存放动态结果的表:new_a
create table new_a
(
  名称 varchar(50),
  是否  varchar(50)
);


declare @sql varchar(8000)
select @sql = isnull(@sql + ' union all ' , '' ) + ' select 名称 , [是否] = ' + quotename(Name , '''')  + ' from a'
 from syscolumns 
where  ID = object_id('a')
order by colid asc

select @sql

--set @sql = 'select * into new_a from (' + @sql + ') a'


--把动态产生的结果,插入到new_a
insert into new_a
exec(@sql + ' order by 名称 ')


select * 
from new_a

[解决办法]
3楼、4楼方法都可以啊
[解决办法]
#3 樓的就可以咯
[解决办法]
只要把你查询出来的数据在insert into 一张新表里即可

热点排行