【SQL 代码】Sql分页(自用)
2014-09-30 12:25
288 查看
效果图:
下面是存储过程的创建,用的时候调用就行了
执行:
下面是存储过程的创建,用的时候调用就行了
/****** Object: StoredProcedure [dbo].[spSqlPageByRownumber] Script Date: 2015/3/5 17:34:38 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE proc [dbo].[spSqlPageByRownumber] @tbName varchar(255), --表名 @tbFields varchar(1000), --返回字段 @PageSize int, --页尺寸 @PageIndex int, --页码 @strWhere varchar(1000), --查询条件 @StrOrder varchar(255) --排序条件 as declare @strSql varchar(5000) --主语句 declare @strSqlCount nvarchar(500)-- --------------总记录数--------------- if @strWhere !='' begin set @strSqlCount='Select count(*) as TotalCout from ' + @tbName + ' where '+ @strWhere end else begin set @strSqlCount='Select count(*) as TotalCout from ' + @tbName end --------------分页------------ if @PageIndex <= 0 begin set @PageIndex = 1 end if @strWhere !='' begin set @strSql='Select * from (Select row_number() over('+@strOrder+') rowId,'+ @tbFields +' from ' + @tbName + ' where ' + @strWhere+' ) tb where tb.rowId >'+str((@PageIndex-1)*@PageSize) +' and tb.rowId <= ' +str(@PageIndex*@PageSize) end else begin set @strSql='Select * from (Select row_number() over('+@strOrder+') rowId,'+ @tbFields +' from ' + @tbName + ' ) tb where tb.rowId >'+str((@PageIndex-1)*@PageSize) +' and tb.rowId <= ' +str(@PageIndex*@PageSize) end exec(@strSqlCount) exec(@strSql) GO
执行:
exec [dbo].spSqlPageByRownumber 'GoodsCategory','*',10,2,'Cid > 0','order by Cid desc'
相关文章推荐
- 存储过程分页实现代码,2005 T-SQL新增功能
- MS Sql Server 分页代码
- SQL 单表多条记录分组查询分页代码
- 使用存储过程获取分页数据的Sql代码
- oracle 分页sql 分段查数据和分段求和 sql语句 和java代码
- 分页的sql代码
- 分页SQL代码
- 分页的sql语句之一写法与代码写法
- 【SQL】存储过程分页代码详解
- sql语句分页代码
- sql 2005 分页代码
- JAVA+Swing +sql 分页代码
- SQL 存储过程分页--在网上找到代码,收藏起来
- 发一段非万能的sql分页代码
- oracle 9i 和 sql2005 分页sql代码
- ORACLE 和 SQL 在EXT中分页查询代码
- sql 又一分页代码
- sql 代码实现分页技术
- sql分页存储过程代码(转)