源码天下

源码天下 -> 技术文档 -> 数据库 -> MsSql -> 文章内容

分页的存储过程



作者:佚名  来源:本站收集  发布时间:2008-5-21 20:17:23  发布人:wongrs


Create procedure sp_pageQuery 
@sqlstr nvarchar(4000),
@page_index int,
@page_size int ,
@rec_count int out --
as 
 set nocount on 
 declare @cursor_id int
 declare @rowcount int
 exec sp_cursoropen @cursor_id output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output 
 set @rec_count=@rowcount
 set @page_index=(@page_index-1)*@page_size+1 
 IF @rec_count>0 
  BEGIN
  exec sp_cursorfetch @cursor_id,16,@page_index,@page_size 
  END
 ELSE
  BEGIN
  Select 'test'='null' Where 1=2
  END
 exec sp_cursorclose @cursor_id 
 set nocount off
GO


在要用的时候在那个存储过程里调用

Create PROCEDURE [dev].[P_Mobile_Comment_Page] 
@course_ware_id int,
@recCountPerPage int=1,
@pageIndex int =1,
@recordCount int=0 out
AS
DECLARE @sql nvarchar(4000)
SET @sql="
 Select seg_id,course_ware_id,subject,cust_name,content,create_date 
 FROM T_COURSEWARE_COMMENT 
 Where course_ware_id="+cast(@course_ware_id as varchar(10))+" 
 ORDER BY seg_id"
EXEC sp_Pagequery @sql,@pageIndex,@recCountPerPage,@recordCount out
GO


[] [返回上一页] [打 印] [收 藏]

上一篇文章:SQL Server全文索引服务
下一篇文章:SQL连接查询介绍
中国福网提供带宽支持