能否将SQL数据库通过循环多个表查询的结果插入一个表呢?
百度上搜索的答案真是让人失望,只好自己动手写了,频繁调试后终于得出了自己想要的结果。
现在从表test1和test2里查询前两个数据并将结果导入到表test中,如下代码可以实现。
declare @table varchar(20)
declare @i int
declare @j char
set @i=1
while @i<2
begin
set @j =cast(@i as char)
set @table = '[test'+(@j)+']'
declare @s Nvarchar(1000) -- 注意此处改为nvarchar(1000)
set @s = 'select * from '+@table
insert into test
Exec(@s) -- 成功
-- exec sp_executesql @s -- 此句正确,
set @i=@i+1
end
这次颇为有成就感啊,在百度上都没找到的东西自己实现了,^_^
百度上搜索的答案真是让人失望,只好自己动手写了,频繁调试后终于得出了自己想要的结果。
现在从表test1和test2里查询前两个数据并将结果导入到表test中,如下代码可以实现。
declare @table varchar(20)
declare @i int
declare @j char
set @i=1
while @i<2
begin
set @j =cast(@i as char)
set @table = '[test'+(@j)+']'
declare @s Nvarchar(1000) -- 注意此处改为nvarchar(1000)
set @s = 'select * from '+@table
insert into test
Exec(@s) -- 成功
-- exec sp_executesql @s -- 此句正确,
set @i=@i+1
end
这次颇为有成就感啊,在百度上都没找到的东西自己实现了,^_^