码迷,mamicode.com
首页 > 其他好文 > 详细

分页存储过程

时间:2014-05-20 13:16:26      阅读:260      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   c   code   tar   

 表T_phone中字段:Id, Haoduan, Adress, Type, Quhao

1,ROW_NUMBER()是个开窗函数,它可以与聚合函数一起用,就算删除表中的列,排序也不会乱

select *,ROW_NUMBER() over(order by id) as 排序 from T_Phone

2,那么分页的sql语句就是这样,假如一页十行,查询第三页

bubuko.com,布布扣
1 select * from 
2 (
3     select *,ROW_NUMBER() over(order by id) as 排序 from T_Phone 
4 )  as tbl where tbl.Id between 2*10+1 and 3*10
分页的sql语句

3,分页的存储过程就可以这样写

bubuko.com,布布扣
1     CREATE PROC usp_phone
2 @index int=1,
3 @pageSize int=10
4 AS
5 BEGIN
6 SELECT * FROM(SELECT ROW_NUMBER()OVER (ORDER BY id)AS rownum,*from T_phone) AS T
7 WHERE rownum BETWEEN (@index-1)*@pageSize+1 and @index *@pageSize 
8 END
分页存储过程

执行存储过程:exec usp_phone 10,10

4,存储过程优点

--执行速度更快 – 在数据库中保存的存储过程语句都是编译过的
--允许模块化程序设计 – 类似方法的复用
--提高系统安全性 – 防止SQL注入
--减少网络流通量 – 只要传输 存储过程的名称

6,缺点:调试麻烦,把所有的业务逻辑都放在了数据库中,改动的时候麻烦。

 

分页存储过程,布布扣,bubuko.com

分页存储过程

标签:style   blog   class   c   code   tar   

原文地址:http://www.cnblogs.com/tuibian/p/3737576.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!