分页存储过程的使用

一、存储过程

  存储过程就像数据库中运行的方法(函数)

  优点:速度快,在数据库中保存的存储过程语句都是编译过的

          允许模块化程序设计

          提高系统的安全性,防止SQL注入

          减少网络流量,只传输存储过程的名称

二、存储过程分类

 1、系统存储过程

     由系统定义,存放在master数据库中

     名称以"sp_"开头或"xp_"开头

 2、自定义存储过程

     由用户在自己的数据库中创建的存储过程usp

三、创建存储过程

   Create proc[edure]  存储过程名

   @参数1 数据类型=默认值 output,

   @参数n 数据类型=默认值 output

   as 

    SQL语句

四、存储过程的使用

 1 create procedure usp_FenYe
 2 @pageIndex int,
 3 @pageCount int=10,
 4 @pageTotalCount int output
 5 as
 6 begin
 7   --计算出总页数
 8   declare @totalData int;
 9   set @totalData=(select count(*) from T)
10   set @pageTotalCount=Ceiling(@totalData*1.0/@pageCount);
11   --得到数据
12   select * from
13   (select *,num=row_number() over(order by id) from T) as t
14    where t.num between 
15 @pageCount * (@pageInde-1)+1 and @pageCount* @pageIndex; 16 end 17 go

 

 

 

    

posted @ 2014-02-21 15:54  小码编匠  阅读(2410)  评论(1编辑  收藏  举报