CREATE Procedure AutoInsert
as
begin
declare @s1 varchar(8000),@s2 varchar(8000),@s3 varchar(8000)
select @s1='insert into table1 select tagtime',@s2='',@s3=''
select @s1=@s1+',['+rtrim(tagname)+']=max(case tagname when '''+rtrim(tagname)+''' then tagvalue end)' from table3 where ID <=90 order by ID
select @s2=@s2+',['+rtrim(tagname)+']=max(case tagname when '''+rtrim(tagname)+''' then tagvalue end)' from table3 where ID between 91 and 180 order by ID
select @s3=@s3+',['+rtrim(tagname)+']=max(case tagname when '''+rtrim(tagname)+''' then tagvalue end)' from table3 where ID between 181 and 220 order by ID
exec(@s1+@s2+@s3+' from table2 group by tagtime')
--exec('insert into table1 '+@s1+@s2+@s3+' from table3 group by tagtime')
end
SQL批量插入优化
本文介绍了一种使用动态构建SQL语句的方法来优化批量数据插入过程的技术。通过将数据分为几个区间并针对每个区间构建特定的插入语句,可以有效地提高数据库操作效率。此方法适用于需要频繁进行大量数据插入的应用场景。
14万+

被折叠的 条评论
为什么被折叠?



