加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

获取某命名规则下一系列表的总条数

发布时间:2020-12-12 15:51:25 所属栏目:MsSql教程 来源:网络整理
导读:SQLServer(T-SQL): -- 获取某命名规则下的 -- 场景:有1000个后缀逐渐递增的表(如果是上万了也可做相应的改动实现),获取这些表总的数据条数 -- 表的形式:tb_user000,tb_user001,tb_user010,tb_user011,tb_user999 --命名规则 :000,001...009,010,011.
SQLServer(T-SQL):

-- 获取某命名规则下的

--
场景:有1000个后缀逐渐递增的表(如果是上万了也可做相应的改动实现),获取这些表总的数据条数

--
表的形式:tb_user000,tb_user001,tb_user010,tb_user011,tb_user999

--命名规则:000,001...009,010,011..999

declare @i int -- 表开始后缀

declare @str nvarchar ( 1000 ) -- 执行语句?

declare @tab varchar ( 100 ) -- 表前缀

declare @tab_suffix varchar ( 10 ) -- 表后缀

declare @max int -- 表个数

set @i = 0

set @tab = ' tb_user '

set @max = 1000

if exists ( select * from tempdb.dbo.sysobjects where id = OBJECT_ID ( ' tempdb..#t1 ' ) and xtype = ' U ' )

? ?
drop table #t1

create table #t1(id int identity ( 1 , 1 ),num int ,tab varchar ( 100 ))

while @i < @max

begin

? ?
if @i >= 0 and @i <10

? ? ?
set @tab_suffix = ' 00 '

? ?
else if @i > 9 and @i <100

? ? ?
set @tab_suffix = ' 0 ' ?

? ?
else if @i > 99 and @i < 1000

? ? ?
set @tab_suffix = ''

? ?
set @str = N ' insert into #t1(num,tab) select Total, ''' + @tab + @tab_suffix + cast ( @i as varchar ) + ''' from?

? ?(select Total = count(*) from
' + @tab + @tab_suffix + cast ( @i as varchar ) + ' ) a '

? ?
print @str ;

? ?
exec sp_executesql @str ; ??

? ?
set @i = @i + 1 ;

end

select num,tab,sum_num from (

select sum (num) as sum_num from #t1) b,#t1




显示结果如下:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读