sql 存储过程分页

------用Sql存储过程实现数据的分页显示-------------------------------------------------------

--n 显示第几页的数据
--m 每页显示多少条数据
--显示第n页数据的公式是:(n-1)*m
--pubs 数据库 authors 表

if exists(select * from sysobjects where name='PagingSelect' and type='p')
 drop procedure PagingSelect
go
--------------------------------------------------------------------------------
create procedure PagingSelect
  @n int,--显示第几页的数据
  @m int=3--每页显示多少条数据
as
 begin
  declare @paging int
----定义变量接收传入的参数-----
  declare @nn int
  declare @mm int
  set @nn=@n  --接收传入的参数
  set @mm=@m  --接收传入的参数
------------------------------
  set @paging=(@nn-1)*@mm --计算公式
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  declare @strSql varchar(500) --定义变量
  set @strSql='select top ' + convert(varchar(10),@mm) + ' * from authors
               where au_id
               not in(select top ' + convert(varchar(10),@paging) + ' au_id from authors order by au_id)
               order by au_id' --给@strSql赋值(分页查询语句)
  exec(@strSql) --执行sql语句
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
end

-------调用PagingSelect存储过程 第一个参数含义:所要显示的是第几页 第二个参数的含义:每页显示的数据量-------------------------------------------
   exec PagingSelect 2,13
------------------------------------------------------------------------------------------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值