以下为最基本的代码结构,SQL Server 2012 开始支持 CREATE PROCEDURE procXXX @Page int, --当前页码,从1开始 @PageSize int --每页记录数 AS BEGIN SET NOCOUNT ON SELECT * FROM tbTest ORDER BY ID OFFSET @PageSize*(@Page-1) ROW FETCH NEXT @PageSize ROWS ONLY --查询总记录数,前台分页需要 SELECT COUNT…
因项目需要,一次性查询出来的数据过大,内存hold不住,所以特意写成分页查询,减小占用内存. 存储过程如下: USE [XXX] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[GetDataPage] -- 获得某一页的数据 -- , --当前页页码 (即Top currPage) ) = '*', --需要得到的字段 (即 column1,column2,......) ), --需要查看…
USE [database] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[ProcedureName] ( @I_IndexID varchar(16), @I_PageIndex INT, @I_PageSize INT, @O_TotalCount INT output, @O_RTCD int output, @O_APPMSG varchar(512) output, @O_SYSM…
这篇博客讲的是SQL server的分页方法,用的SQL server 2012版本.下面都用pageIndex表示页数,pageSize表示一页包含的记录.并且下面涉及到具体例子的,设定查询第2页,每页含10条记录. 首先说一下SQL server的分页与MySQL的分页的不同,mysql的分页直接是用limit (pageIndex-1),pageSize就可以完成,但是SQL server 并没有limit关键字,只有类似limit的top关键字.所以分页起来比较麻烦. SQL…