分页存储过程,存储过程嵌套示例

着力提醒:事例数据库表:公司新闻表表名称prd_wxt_enterprise_tbl_EnterpriseInfo数据来源
存款和储蓄数据集团音讯表主键/外键 字段名称表达项目

正文转自:

1State of Qatar事例数据库表: 公司新闻表 表名称
prd_wxt_enterprise_tbl_EnterpriseInfo 数据来源 存款和储蓄数据 公司消息表
主键/外键 字段名称 表明 类型 备注 cEnterpriseId n公司ID Char(10卡塔尔国sEnterpriseName n公司名称 Varchar(200卡塔尔国 sShortName n简单的称呼 Varchar(50卡塔尔国sAddress n地址 nVarchar(200State of Qatar E_system n公司所属系统 Char(1卡塔尔国

版权证明:小编:jiankunking 出处: 
本文版权归作者和CSDN共有,迎接转发,但未经小编同意必需保留此段注脚,且在篇章页面鲜明地点给出最先的文章连接。

产品表 表名称 Shop_tbl_ProductInfo 数据来源 存款和储蓄数据 产物表 主键/外键
字段名称 表明 类型 备注 P_Code(PK卡塔尔(قطر‎n产物SKU号,即下单号,产物体系编号(p123456789卡塔尔国 Char(10State of Qatar not null
EnterpriseId n公司ID Char(10卡塔尔国 not null P_Name n付加物名称 Nvarchar(100卡塔尔not null P_Price n付加物价格 Money P_UserPrice n产物会员价 Money Remark
n备注 Nvarchar(500卡塔尔 2卡塔尔国要得以完结的功用:
删除旧公司数目及连锁的出品,必要用嵌套存款和储蓄进程实现
3卡塔尔(قطر‎存款和储蓄进程:包含七个存款和储蓄进度
a卡塔尔国存款和储蓄进程一:依据商家ID,删除该商号及上面的付加物: 存款和储蓄进度代码如下:
/* 功用:删除集团,同期删除关联的表,包蕴集团表及其涉及的产品表数据
成立人: 成立日期:二零零七-4-10 改过日期:二零零七-4-10 */ CREATE PROCEDURE
[DeleteEnterprise] ( @EnterpriseID nvarchar(10卡塔尔 卡塔尔 AS declare @strSQL
nvarchar(4000卡塔尔(قطر‎ –删除公司附加物表 select @strSQL = delete from
Shop_tbl_ProductInfo where EnterpriseId=+@EnterpriseID+; exec(@strSQL卡塔尔国–删除集团表 select @strSQL = delete from
prd_wxt_enterprise_tbl_EnterpriseInfo where
cEnterpriseID=+@EnterpriseID+; exec(@strSQL) GO

分页存款和储蓄进度一:

b卡塔尔国存款和储蓄过程二:选出旧公司的多寡,然后经过巡回嵌套的法子,通过循环语句调用存款和储蓄进度一,删除全部的旧公司数量及其制品数据
存款和储蓄进度代码如下: /* 成效:删除旧公司数量,同期删除关联的表,包涵创造人: 创造日期:二〇〇五-4-11 纠正日期:2005-4-11 */ CREATE PROCEDURE
[DeleteOldEnterprise] AS declare @strSQL nvarchar(4000) declare
@EnterpriseID nvarchar(10) DECLARE Enterprise_CURSOR Cursor FOR Select
cEnterpriseId from prd_wxt_enterprise_tbl_EnterpriseInfo where
e_system=1 or e_system is null OPEN Enterprise_CURSOR Fetch next from
Enterprise_CU奥德赛SO科雷傲 into @EnterpriseID –以下一向到END都以循环语句 WHILE
@@FETCH_STATUS = 0 BEGIN –上边那行是调用存款和储蓄过程一删除集团及其制品数据
exec DeleteEnterprise @EnterpriseID Fetch next from Enterprise_CURSOR
into @EnterpriseID END CLOSE Enterprise_CURSOR DEALLOCATE
Enterprise_CURSOR GO

 

[sql] view
plain
copy
print?

  1. –/*—–存款和储蓄进度 分页管理 孙伟 贰零零陆-03-28开立 ——-*/   
  2. –/*—– 对数据开展了2分管理使查询前半局地多少与查询后半片段数据品质相似 ——-*/   
  3. –/*—–存款和储蓄进度 分页管理 孙伟 二〇〇五-04-21校勘 加多Distinct查询成效——-*/   
  4. –/*—–存储进程 分页管理 孙伟 2006-05-18修正 多字段排序准则难题——-*/   
  5. –/*—–存款和储蓄进程 分页管理 孙伟 二零零六-06-15更改 多字段排序改革——-*/   
  6. –/*—–存款和储蓄进程 分页管理 孙伟 二零零七-12-13修改 修正数据分页情势为top max格局性能有大幅增加——-*/   
  7. –/*—–瑕玷:相对此前的not in版本主键只好是整型字段,如主键为GUID类型请使用not in 方式的版本——-*/   
  8. CREATE PROCEDURE dbo.proc_ListPageInt   
  9. (   
  10. @tblName nvarchar(200State of Qatar, —-要突显的表或多个表的连接   
  11. @fldName nvarchar(500) = ‘*’, —-要浮现的字段列表   
  12. @pageSize int = 10, —-每页突显的笔录个数   
  13. @page int = 1, —-要体现那一页的记录   
  14. @pageCount int = 1 output, —-查询结果分页后的总页数   
  15. @Counts int = 1 output, —-查询到的记录数   
  16. @fldSort nvarchar(200卡塔尔国 = null, —-排序字段列表或规范   
  17. @Sort bit = 0, —-排序方法,0为升序,1为降序(固然是多字段排列Sort指代最终叁个排序字段的排列顺序(最终三个排序字段不加排序标识卡塔尔国–程序传参如:’ SortA Asc,SortB Desc,SortC ‘卡塔尔国   
  18. @strCondition nvarchar(1000卡塔尔(قطر‎ = null, —-查询条件,不需where   
  19. @ID nvarchar(150卡塔尔国, —-主表的主键   
  20. @Dist bit = 0 —-是不是充分查询字段的 DISTINCT 默许0不增进/1增多   
  21. )   
  22. AS   
  23. SET NOCOUNT ON   
  24. Declare @sqlTmp nvarchar(1000卡塔尔 —-贮存动态变化的SQL语句   
  25. Declare @strTmp nvarchar(1000卡塔尔 —-寄放获得查询结果总的数量的查询语句   
  26. Declare @strID nvarchar(1000卡塔尔(قطر‎ —-寄存获得查询初叶或最终ID的查询语句   
  27.   
  28. Declare @strSortType nvarchar(10卡塔尔 —-数据排序准绳A   
  29. Declare @strFSortType nvarchar(10State of Qatar —-数据排序法规B   
  30.   
  31. Declare @SqlSelect nvarchar(50卡塔尔国 —-对包含DISTINCT的询问进行SQL布局   
  32. Declare @SqlCounts nvarchar(50State of Qatar —-对含有DISTINCT的总额查询实行SQL构造   
  33.   
  34.   
  35. if @Dist = 0   
  36. begin   
  37. set @SqlSelect = ‘select ‘   
  38. set @SqlCounts = ‘Count(*)’   
  39. end   
  40. else   
  41. begin   
  42. set @SqlSelect = ‘select distinct ‘   
  43. set @SqlCounts = ‘Count(DISTINCT ‘+@ID+’)’   
  44. end   
  45.   
  46.   
  47. if @Sort=0   
  48. begin   
  49. set @strFSortType=’ ASC ‘   
  50. set @strSortType=’ DESC ‘   
  51. end   
  52. else   
  53. begin   
  54. set @strFSortType=’ DESC ‘   
  55. set @strSortType=’ ASC ‘   
  56. end   
  57.   
  58.   
  59.   
  60. ——–生成查询语句——–   
  61. –此处@strTmp为拿到查询结果数量的言语   
  62. if @strCondition is null or @strCondition=” –未有设置展现典型   
  63. begin   
  64. set @sqlTmp = @fldName + ‘ From ‘ + @tblName   
  65. set @strTmp = @SqlSelect+’ @Counts=’+@SqlCounts+’ FROM ‘+@tblName  
  66. set @strID = ‘ From ‘ + @tblName   
  67. end   
  68. else   
  69. begin   
  70. set @sqlTmp = + @fldName + ‘From ‘ + @tblName + ‘ where (1>0) ‘ + @strCondition   
  71. set @strTmp = @SqlSelect+’ @Counts=’+@SqlCounts+’ FROM ‘+@tblName + ‘ where (1>0) ‘ + @strCondition   
  72. set @strID = ‘ From ‘ + @tblName + ‘ where (1>0) ‘ + @strCondition   
  73. end   
  74.   
  75. —-取得查询结果总量量—–   
  76. exec sp_executesql @strTmp,N’@Counts int out ‘,@Counts out   
  77. declare @tmpCounts int   
  78. if @Counts = 0   
  79. set @tmpCounts = 1   
  80. else   
  81. set @tmpCounts = @Counts   
  82.   
  83. –得到分页总量   
  84. set @pageCount=(@tmpCounts+@pageSize-1)/@pageSize   
  85.   
  86. /**//**当前页大于总页数 取最终一页**/   
  87. if @page>@pageCount   
  88. set @page=@pageCount   
  89.   
  90. –/*—–数据分页2分管理——-*/   
  91. declare @pageIndex int –总数/页大小   
  92. declare @lastcount int –总数%页大小   
  93.   
  94. set @pageIndex = @tmpCounts/@pageSize   
  95. set @lastcount = @tmpCounts%@pageSize   
  96. if @lastcount > 0   
  97. set @pageIndex = @pageIndex + 1   
  98. else   
  99. set @lastcount = @pagesize   
  100.   
  101. –//***展现分页   
  102. if @strCondition is null or @strCondition=” –没有设置呈现标准   
  103. begin   
  104. if @pageIndex<2 or @page<=@pageIndex / 2 + @pageIndex % 2 –前半局部数量管理   
  105. begin   
  106. if @page=1   
  107. set @strTmp=@SqlSelect+’ top ‘+ CAST(@pageSize as VARCHAR(4))+’ ‘+ @fldName+’ from ‘+@tblName  
  108. +’ order by ‘+ @fldSort +’ ‘+ @strFSortType   
  109. else   
  110. begin   
  111. set @strTmp=@SqlSelect+’ top ‘+ CAST(@pageSize as VARCHAR(4))+’ ‘+ @fldName+’ from ‘+@tblName  
  112. +’ where ‘+@ID+’ <(select min(‘+ @ID +’) from (‘+ @SqlSelect+’ top ‘+ CAST(@pageSize*(@page-1) as Varchar(20)) +’ ‘+ @ID +’ from ‘+@tblName  
  113. +’ order by ‘+ @fldSort +’ ‘+ @strFSortType+’) AS TBMinID)’   
  114. +’ order by ‘+ @fldSort +’ ‘+ @strFSortType   
  115. end   
  116. end   
  117. else   
  118. begin   
  119. set @page = @pageIndex-@page+1 –后半有个别数额处理   
  120. if @page <= 1 –最终一页数据突显   
  121. set @strTmp=@SqlSelect+’ * from (‘+@SqlSelect+’ top ‘+ CAST(@lastcount as VARCHAR(4))+’ ‘+ @fldName+’ from ‘+@tblName  
  122. +’ order by ‘+ @fldSort +’ ‘+ @strSortType+’) AS TempTB’+’ order by ‘+ @fldSort +’ ‘+ @strFSortType   
  123. else   
  124. set @strTmp=@SqlSelect+’ * from (‘+@SqlSelect+’ top ‘+ CAST(@pageSize as VARCHAR(4))+’ ‘+ @fldName+’ from ‘+@tblName  
  125. +’ where ‘+@ID+’ >(select max(‘+ @ID +’) from(‘+ @SqlSelect+’ top ‘+ CAST(@pageSize*(@page-2)+@lastcount as Varchar(20)) +’ ‘+ @ID +’ from ‘+@tblName  
  126. +’ order by ‘+ @fldSort +’ ‘+ @strSortType+’) AS TBMaxID)’   
  127. +’ order by ‘+ @fldSort +’ ‘+ @strSortType+’) AS TempTB’+’ order by ‘+ @fldSort +’ ‘+ @strFSortType   
  128. end   
  129. end   
  130.   
  131. else –有查询条件   
  132. begin   
  133. if @pageIndex<2 or @page<=@pageIndex / 2 + @pageIndex % 2 –前半片段数据管理   
  134. begin   
  135. if @page=1   
  136. set @strTmp=@SqlSelect+’ top ‘+ CAST(@pageSize as VARCHAR(4))+’ ‘+ @fldName+’ from ‘+@tblName  
  137. +’ where 1=1 ‘ + @strCondition + ‘ order by ‘+ @fldSort +’ ‘+ @strFSortType   
  138. else   
  139. begin   
  140. set @strTmp=@SqlSelect+’ top ‘+ CAST(@pageSize as VARCHAR(4))+’ ‘+ @fldName+’ from ‘+@tblName  
  141. +’ where ‘+@ID+’ <(select min(‘+ @ID +’) from (‘+ @SqlSelect+’ top ‘+ CAST(@pageSize*(@page-1) as Varchar(20)) +’ ‘+ @ID +’ from ‘+@tblName  
  142. +’ where (1=1) ‘ + @strCondition +’ order by ‘+ @fldSort +’ ‘+ @strFSortType+’) AS TBMinID)’   
  143. +’ ‘+ @strCondition +’ order by ‘+ @fldSort +’ ‘+ @strFSortType   
  144. end   
  145. end   
  146. else   
  147. begin   
  148. set @page = @pageIndex-@page+1 –后半有的数码管理   
  149. if @page <= 1 –最终一页数据突显   
  150. set @strTmp=@SqlSelect+’ * from (‘+@SqlSelect+’ top ‘+ CAST(@lastcount as VARCHAR(4))+’ ‘+ @fldName+’ from ‘+@tblName  
  151. +’ where (1=1) ‘+ @strCondition +’ order by ‘+ @fldSort +’ ‘+ @strSortType+’) AS TempTB’+’ order by ‘+ @fldSort +’ ‘+ @strFSortType   
  152. else   
  153. set @strTmp=@SqlSelect+’ * from (‘+@SqlSelect+’ top ‘+ CAST(@pageSize as VARCHAR(4))+’ ‘+ @fldName+’ from ‘+@tblName  
  154. +’ where ‘+@ID+’ >(select max(‘+ @ID +’) from(‘+ @SqlSelect+’ top ‘+ CAST(@pageSize*(@page-2)+@lastcount as Varchar(20)) +’ ‘+ @ID +’ from ‘+@tblName  
  155. +’ where (1=1) ‘+ @strCondition +’ order by ‘+ @fldSort +’ ‘+ @strSortType+’) AS TBMaxID)’   
  156. +’ ‘+ @strCondition+’ order by ‘+ @fldSort +’ ‘+ @strSortType+’) AS TempTB’+’ order by ‘+ @fldSort +’ ‘+ @strFSortType   
  157. end   
  158. end   
  159.   
  160. ——再次回到查询结果—–   
  161. exec sp_executesql @strTmp   
  162. –print @strTmp   
  163. SET NOCOUNT OFF   
  164. GO   

    –/—–存储进程 分页管理 孙伟 贰零零伍-03-28创建 ——-/
    –/—– 对数据实行了2分管理使查询前半片段数额与查询后半部分数额质量相仿 ——-/
    –/—–存款和储蓄进程 分页管理 孙伟 二〇〇六-04-21更改 加多Distinct查询功用——-/
    –/—–存款和储蓄进度 分页管理 孙伟 二〇〇五-05-18改造 多字段排序法则难题——-/
    –/—–存款和储蓄进度 分页管理 孙伟 二〇〇五-06-15改换 多字段排序改过——-/
    –/—–存款和储蓄进程 分页管理 孙伟 二零零七-12-13改换 修正数据分页形式为top max方式质量有高大增长——-/
    –/—–劣点:相对以前的not in版本主键只可以是整型字段,如主键为GUID类型请使用not in 格局的本子——-/
    CREATE PROCEDURE dbo.proc_ListPageInt
    (
    @tblName nvarchar(200卡塔尔, —-要展现的表或八个表的连天
    @fldName nvarchar(500卡塔尔国 = ‘*’, —-要显得的字段列表
    @pageSize int = 10, —-每页呈现的记录个数
    @page int = 1, —-要显示那一页的笔录
    @pageCount int = 1 output, —-查询结果分页后的总页数
    @Counts int = 1 output, —-查询到的记录数
    @fldSort nvarchar(200State of Qatar = null, —-排序字段列表或条件
    @Sort bit = 0, —-排序方法,0为升序,1为降序(假诺是多字段排列Sort指代最终三个排序字段的排列顺序(最终三个排序字段不加排序标识卡塔尔国–程序传参如:’ SortA Asc,SortB Desc,SortC ‘卡塔尔国
    @strCondition nvarchar(1000卡塔尔国 = null, —-查询条件,不需where
    @ID nvarchar(150卡塔尔(قطر‎, —-主表的主键
    @Dist bit = 0 —-是不是丰裕查询字段的 DISTINCT 暗许0不加多/1增添
    卡塔尔
    AS
    SET NOCOUNT ON
    Declare @sqlTmp nvarchar(1000卡塔尔国 —-贮存动态变化的SQL语句
    Declare @strTmp nvarchar(1000State of Qatar —-存放获得查询结果总量的查询语句
    Declare @strID nvarchar(1000卡塔尔国 —-存放得到查询初始或最终ID的询问语句

    Declare @strSortType nvarchar(10卡塔尔 —-数据排序法则A
    Declare @strFSortType nvarchar(10卡塔尔国 —-数据排序规则B

    Declare @SqlSelect nvarchar(50卡塔尔 —-对饱含DISTINCT的查询举办SQL结构
    Declare @SqlCounts nvarchar(50卡塔尔国 —-对含有DISTINCT的总和查询进行SQL结构

if @Dist = 0 
begin 
set @SqlSelect = 'select ' 
set @SqlCounts = 'Count(*)' 
end 
else 
begin 
set @SqlSelect = 'select distinct ' 
set @SqlCounts = 'Count(DISTINCT '+@ID+')' 
end 


if @Sort=0 
begin 
set @strFSortType=' ASC ' 
set @strSortType=' DESC ' 
end 
else 
begin 
set @strFSortType=' DESC ' 
set @strSortType=' ASC ' 
end 



--------生成查询语句-------- 
--此处@strTmp为取得查询结果数量的语句 
if @strCondition is null or @strCondition='' --没有设置显示条件 
begin 
set @sqlTmp = @fldName + ' From ' + @tblName 
set @strTmp = @SqlSelect+' @Counts='+@SqlCounts+' FROM '+@tblName
set @strID = ' From ' + @tblName 
end 
else 
begin 
set @sqlTmp = + @fldName + 'From ' + @tblName + ' where (1>0) ' + @strCondition 
set @strTmp = @SqlSelect+' @Counts='+@SqlCounts+' FROM '+@tblName + ' where (1>0) ' + @strCondition 
set @strID = ' From ' + @tblName + ' where (1>0) ' + @strCondition 
end 

----取得查询结果总数量----- 
exec sp_executesql @strTmp,N'@Counts int out ',@Counts out 
declare @tmpCounts int 
if @Counts = 0 
set @tmpCounts = 1 
else 
set @tmpCounts = @Counts 

--取得分页总数 
set @pageCount=(@tmpCounts+@pageSize-1)/@pageSize 

/**//**当前页大于总页数 取最后一页**/ 
if @page>@pageCount 
set @page=@pageCount 

--/*-----数据分页2分处理-------*/ 
declare @pageIndex int --总数/页大小 
declare @lastcount int --总数%页大小 

set @pageIndex = @tmpCounts/@pageSize 
set @lastcount = @tmpCounts%@pageSize 
if @lastcount > 0 
set @pageIndex = @pageIndex + 1 
else 
set @lastcount = @pagesize 

--//***显示分页 
if @strCondition is null or @strCondition='' --没有设置显示条件 
begin 
if @pageIndex<2 or @page<=@pageIndex / 2 + @pageIndex % 2 --前半部分数据处理 
begin 
if @page=1 
set @strTmp=@SqlSelect+' top '+ CAST(@pageSize as VARCHAR(4))+' '+ @fldName+' from '+@tblName
+' order by '+ @fldSort +' '+ @strFSortType 
else 
begin 
set @strTmp=@SqlSelect+' top '+ CAST(@pageSize as VARCHAR(4))+' '+ @fldName+' from '+@tblName
+' where '+@ID+' <(select min('+ @ID +') from ('+ @SqlSelect+' top '+ CAST(@pageSize*(@page-1) as Varchar(20)) +' '+ @ID +' from '+@tblName
+' order by '+ @fldSort +' '+ @strFSortType+') AS TBMinID)' 
+' order by '+ @fldSort +' '+ @strFSortType 
end 
end 
else 
begin 
set @page = @pageIndex-@page+1 --后半部分数据处理 
if @page <= 1 --最后一页数据显示 
set @strTmp=@SqlSelect+' * from ('+@SqlSelect+' top '+ CAST(@lastcount as VARCHAR(4))+' '+ @fldName+' from '+@tblName
+' order by '+ @fldSort +' '+ @strSortType+') AS TempTB'+' order by '+ @fldSort +' '+ @strFSortType 
else 
set @strTmp=@SqlSelect+' * from ('+@SqlSelect+' top '+ CAST(@pageSize as VARCHAR(4))+' '+ @fldName+' from '+@tblName
+' where '+@ID+' >(select max('+ @ID +') from('+ @SqlSelect+' top '+ CAST(@pageSize*(@page-2)+@lastcount as Varchar(20)) +' '+ @ID +' from '+@tblName
+' order by '+ @fldSort +' '+ @strSortType+') AS TBMaxID)' 
+' order by '+ @fldSort +' '+ @strSortType+') AS TempTB'+' order by '+ @fldSort +' '+ @strFSortType 
end 
end 

else --有查询条件 
begin 
if @pageIndex<2 or @page<=@pageIndex / 2 + @pageIndex % 2 --前半部分数据处理 
begin 
if @page=1 
set @strTmp=@SqlSelect+' top '+ CAST(@pageSize as VARCHAR(4))+' '+ @fldName+' from '+@tblName
+' where 1=1 ' + @strCondition + ' order by '+ @fldSort +' '+ @strFSortType 
else 
begin 
set @strTmp=@SqlSelect+' top '+ CAST(@pageSize as VARCHAR(4))+' '+ @fldName+' from '+@tblName
+' where '+@ID+' <(select min('+ @ID +') from ('+ @SqlSelect+' top '+ CAST(@pageSize*(@page-1) as Varchar(20)) +' '+ @ID +' from '+@tblName
+' where (1=1) ' + @strCondition +' order by '+ @fldSort +' '+ @strFSortType+') AS TBMinID)' 
+' '+ @strCondition +' order by '+ @fldSort +' '+ @strFSortType 
end 
end 
else 
begin 
set @page = @pageIndex-@page+1 --后半部分数据处理 
if @page <= 1 --最后一页数据显示 
set @strTmp=@SqlSelect+' * from ('+@SqlSelect+' top '+ CAST(@lastcount as VARCHAR(4))+' '+ @fldName+' from '+@tblName
+' where (1=1) '+ @strCondition +' order by '+ @fldSort +' '+ @strSortType+') AS TempTB'+' order by '+ @fldSort +' '+ @strFSortType 
else 
set @strTmp=@SqlSelect+' * from ('+@SqlSelect+' top '+ CAST(@pageSize as VARCHAR(4))+' '+ @fldName+' from '+@tblName
+' where '+@ID+' >(select max('+ @ID +') from('+ @SqlSelect+' top '+ CAST(@pageSize*(@page-2)+@lastcount as Varchar(20)) +' '+ @ID +' from '+@tblName
+' where (1=1) '+ @strCondition +' order by '+ @fldSort +' '+ @strSortType+') AS TBMaxID)' 
+' '+ @strCondition+' order by '+ @fldSort +' '+ @strSortType+') AS TempTB'+' order by '+ @fldSort +' '+ @strFSortType 
end 
end 

------返回查询结果----- 
exec sp_executesql @strTmp 
--print @strTmp 
SET NOCOUNT OFF 
GO 

怎么在数据库中测量试验呢?

 

 

[sql] view
plain
copy
print?

  1. declare @pageCount int   
  2. declare @Counts int   
  3. exec [dbo].[proc_ListPageInt] ‘sysobjects’, ‘* ‘, 20,1,@pageCount output,@Counts output,’id’, 0,”,’id’,0  
  4. print @pageCount –这么些漫不经意   
  5. print @Counts –这么些置身事外   

    declare @pageCount int
    declare @Counts int
    exec [dbo].[proc_ListPageInt] ‘sysobjects’, ‘* ‘, 20,1,@pageCount output,@Counts output,’id’, 0,”,’id’,0
    print @pageCount –那个多管闲事
    print @Counts –那个多管闲事

进行遵守如下:

 

图片 1

图片 2

分页存款和储蓄进度二:

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注