通用分页存储过程
来源:互联网 发布:java最大公约数算法 编辑:程序博客网 时间:2024/05/17 09:09
USE [Test]
GO
/****** Object: StoredProcedure [dbo].[PROC_INFO_LIST_PAGESIZE] Script Date: 03/31/2011 09:41:32 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:
-- Create date: 2010.12.17
-- Description: 用于一般用途的存储过程分页
-- =============================================
ALTER PROC [dbo].[PROC_INFO_LIST_PAGESIZE]
@COLUMNNAME VARCHAR(8000), --查询列名称
@ORDERNAME VARCHAR(8000), --排序列名称
@ORDER VARCHAR(10)=NULL, --显示顺序(升序为ASC,降底为DESC,默认为ASC)
@TABLENAME VARCHAR(200), --数据源名称
@PAGEINDEX INT, --结果集页序号
@PAGESIZE INT, --每页容量
@STRWHERE VARCHAR(8000)=NULL --分页条件
AS
DECLARE @RUNSQL NVARCHAR(MAX)
SET NOCOUNT ON
SET @RUNSQL=N'WITH PAGECONTENT AS'
IF ISNULL(@ORDER,'')=''
BEGIN
SET @RUNSQL=@RUNSQL+N' (SELECT '+@COLUMNNAME+',ROW_NUMBER() OVER(ORDER BY '+@ORDERNAME+' ASC) AS ROWNUMBER FROM '+@TABLENAME
END
ELSE
BEGIN
SET @RUNSQL=@RUNSQL+N' (SELECT '+@COLUMNNAME+',ROW_NUMBER() OVER(ORDER BY '+@ORDERNAME+' '+@ORDER+') AS ROWNUMBER FROM '+@TABLENAME
END
IF(ISNULL(@STRWHERE,'')='')
BEGIN
SET @RUNSQL=@RUNSQL+') '
SET @RUNSQL=@RUNSQL+N'SELECT * FROM PAGECONTENT WHERE ROWNUMBER>'+STR((@PAGEINDEX-1)*@PAGESIZE)+' AND ROWNUMBER<='+STR(@PAGEINDEX*@PAGESIZE)+';'
SET @RUNSQL=@RUNSQL+N'SELECT COUNT(1) AS TOTALNUMBER FROM '+@TABLENAME +' '
print @runsql
END
ELSE
BEGIN
SET @RUNSQL=@RUNSQL+' WHERE '+@STRWHERE+') '
SET @RUNSQL=@RUNSQL+N'SELECT * FROM PAGECONTENT WHERE ROWNUMBER>'+STR((@PAGEINDEX-1)*@PAGESIZE)+' AND ROWNUMBER<='+STR(@PAGEINDEX*@PAGESIZE)+';'
SET @RUNSQL=@RUNSQL+N'SELECT COUNT(1) AS TOTALNUMBER FROM '+@TABLENAME +' WHERE '+@STRWHERE
print @runsql
END
EXEC SP_EXECUTESQL @RUNSQL
- 通用分页存储过程
- 通用存储过程分页
- 通用分页存储过程
- 通用分页存储过程
- 通用分页存储过程
- 通用分页存储过程
- 通用分页存储过程
- 通用分页存储过程
- 通用分页存储过程
- 通用分页存储过程
- 通用分页存储过程
- 通用分页存储过程
- 通用分页存储过程
- 通用分页存储过程
- 通用存储过程分页
- 通用分页存储过程
- 通用分页存储过程
- 通用分页存储过程
- cxgrid filter
- 在doc界面下输入ipconfig或者sc后提示该命令不是内部或者外部命令
- 多语言网店的产品详细页面跳转到购物车页面出现产品添加到购物车失败的问题的解决!!
- 我的AIR开发
- 解决2345团购改版后,之前的团购网站不能收录团购信息的方法
- 通用分页存储过程
- Android自适应屏幕大小和layout布局
- poi框架如何生成加密的EXCEL
- POCO中Notification分析
- JavaScript_break语句与continue语句
- 【转】在U盘里建立git仓库
- 新人来报道~
- 《程序员》11年4期精彩内容预告:HTML5来临!
- POCO中的Task