通用sql分页脚本
来源:互联网 发布:陈华亭去世原因知乎 编辑:程序博客网 时间:2024/03/29 10:09
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROC [dbo].[P_viewPage_A]
@TableName VARCHAR(200), --表名
@RecorderCount INT, --记录总数 0:会返回总记录
@PageSize INT, --每页输出的记录数
@PageIndex INT, --当前页数
@TotalCount INT OUTPUT, --记返回总记录
@TotalPageCount INT OUTPUT --返回总页数
AS
SET NOCOUNT ON
IF ISNULL(@TotalCount,'') = ''
BEGIN
SET @TotalCount = 0
END
IF ISNULL(@TableName,'') = '' OR @RecorderCount < 0 OR @PageSize < 0 OR @PageIndex < 0
BEGIN
PRINT('ERR_00')
RETURN
END
DECLARE @Sql VARCHAR(8000)
DECLARE @SqlCount NVARCHAR(4000)
SET @SqlCount = 'SELECT @TotalCount=COUNT(*),@TotalPageCount=CEILING((COUNT(*)+0.0)/'
+ CAST(@PageSize AS VARCHAR)+') FROM ' + @TableName
IF @RecorderCount = 0
BEGIN
EXEC SP_EXECUTESQL @SqlCount,N'@TotalCount INT OUTPUT,@TotalPageCount INT OUTPUT',
@TotalCount OUTPUT,@TotalPageCount OUTPUT
END
ELSE
BEGIN
SELECT @TotalCount = @RecorderCount
END
IF @PageIndex > CEILING((@TotalCount+0.0)/@PageSize)
BEGIN
SET @PageIndex = CEILING((@TotalCount+0.0)/@PageSize)
END
IF @PageIndex = 1 OR @PageIndex >= CEILING((@TotalCount+0.0)/@PageSize)
BEGIN
IF @PageIndex = 1 --返回第一页数据
BEGIN
SET @Sql = 'SELECT TOP ' + STR(@PageSize) + ' * FROM '
+ @TableName
END
IF @PageIndex >= CEILING((@TotalCount+0.0)/@PageSize) --返回最后一页数据
BEGIN
SET @Sql = 'SELECT TOP ' + STR(@PageSize) + ' * FROM ('
+ 'SELECT TOP ' + STR(ABS(@PageSize*@PageIndex-@TotalCount-@PageSize))
+ ' * FROM '
+ @TableName + ' ) AS TMP ORDER BY FCANDIDATEID DESC'
END
END
EXEC(@Sql)
DECLARE @TotalCount INT
DECLARE @TotalPageCount INT
EXEC [P_viewPage_A] 'TCandidate',10,5,5,@TotalCount OUTPUT,@TotalPageCount OUTPUT
- 通用sql分页脚本
- Sql Server 通用分页
- Sql 2005 分页脚本
- SQL高效分页脚本
- 分页sql脚本
- SQL 通用分页存储过程
- SQL 通用分页存储过程
- sql通用分页存储过程
- 数据库_select_通用分页.sql
- sql 通用分页存储过程
- SQL Server 通用分页方案
- SQL Server 通用分页方案
- sql 通用分页存储过程
- SQL分页通用存储过程
- 通用sql分页存储过程
- 通用SQL分页存储过程
- jdbc通用sql分页封装
- 关于sqlsever 通用分页脚本的探索
- Show my new house!
- [JavaSE入门篇][1]JDK环境配置
- 软件测试基本方法
- 常用的107条Javascript
- 人民币大小写转换
- 通用sql分页脚本
- 27章How Program Size Affects Construction读书笔记
- ASP.NET实用语句
- Visual Studio 2008简体中文正式版下载
- calendar控件编程
- 自己动手打造ORM(三) —自定义Attribute
- JS 控制mediaplayer方法和相关参数
- [转]Eclipse+PHPEclipse+DBG的PHP开发调试环境的安装与配置
- Ubuntu 7.04 基本配置指南