分页存储过程练习(一)

 

 1ExpandedBlockStart.gifContractedBlock.gif/**//*
 2InBlock.gif说明:
 3InBlock.gif(1)这里以northwind数据库中products表为例子(SQL2000)
 4InBlock.gif(2)关于排序的功能没有完成
 5InBlock.gif(3)数据库动态改变没有完成
 6ExpandedBlockEnd.gif*/

 7None.gif
 8None.gif--分页存储过程
 9None.gifalter procedure SplitPage
10None.gif@PageSize int,--每页大小
11None.gif@PageIndex int --当前页
12None.gifas
13None.gifdeclare @totalrecord int --总的记录数
14None.gifdeclare @totalpage int --总的页数
15None.gifselect @totalrecord=count(*) from products
16None.gifset @totalpage=ceiling(cast(@totalrecord as float)/@PageSize)
17None.gifif @PageIndex<=@totalpage
18None.gifbegin
19None.gif declare @Sql varchar(1000)
20None.gif if(@PageIndex=1)
21None.gif begin
22None.gif  set @Sql='select top '+cast(@PageSize as varchar(100))+' * from products
23None.gif   order by productid asc'
24None.gif  execute(@Sql) 
25None.gif end
26None.gif else
27None.gif begin 
28None.gif  set @PageIndex=(@PageIndex-1)*@PageSize
29None.gif  print @PageIndex
30None.gif  set @Sql='select top '+cast(@PageSize as varchar(100))+' * from products
31None.gif   where productid>all(select top '+cast(@PageIndex as varchar(100))+
32None.gif   ' productid from products order by productid asc) order by productid
33None.gif   asc'
34None.gif  execute(@Sql)
35None.gif end
36None.gif
37None.gifend
38None.gifelse
39None.gifbegin
40None.gif
41None.gif print '超出范围'
42None.gifend
43None.gif
44None.gif
联系我,QQ:271059875

转载于:https://www.cnblogs.com/wang123/archive/2006/08/30/490556.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值