create table #tableNames(TableName varchar(255))
create table #aaa (num int )
declare @n int
declare @dataTable varchar(255)
insert into #tableNames(TableName)
select name from sysobjects
set @n= (select count(*) from #tableNames)
while(@n>0)
begin
set @dataTable = (select Min(tm.TableName) from #tableNames tm)
if(exists(select 1 from sysobjects where name=@dataTable and type='U'))
begin
declare @sql varchar(1000)
declare @Num int
set @sql='insert into #aaa select count(1) from '+ @dataTable
exec ( @sql)
select @Num= num from #aaa
if @Num>0
print @dataTable
delete from #aaa
--select * from @dataTable
end
delete from #tableNames where TableName=@dataTable
select @n=(@n-1)
end
if ( object_id('tempdb..#tableNames') is not null ) drop table #tableNames
if ( object_id('tempdb..#aaa') is not null ) drop table #aaa
create table #aaa (num int )
declare @n int
declare @dataTable varchar(255)
insert into #tableNames(TableName)
select name from sysobjects
set @n= (select count(*) from #tableNames)
while(@n>0)
begin
set @dataTable = (select Min(tm.TableName) from #tableNames tm)
if(exists(select 1 from sysobjects where name=@dataTable and type='U'))
begin
declare @sql varchar(1000)
declare @Num int
set @sql='insert into #aaa select count(1) from '+ @dataTable
exec ( @sql)
select @Num= num from #aaa
if @Num>0
print @dataTable
delete from #aaa
--select * from @dataTable
end
delete from #tableNames where TableName=@dataTable
select @n=(@n-1)
end
if ( object_id('tempdb..#tableNames') is not null ) drop table #tableNames
if ( object_id('tempdb..#aaa') is not null ) drop table #aaa
本文介绍了一种使用T-SQL在SQL Server中批量插入数据到指定表的方法。通过创建临时表存储目标表名,并利用循环结构逐个表进行数据计数插入,实现了一次性处理多个表的数据统计任务。
739

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



