知识大全 SQL Server 千万数量级 分页 存储过程
Posted 语句
篇首语:没有爱的教学,宛如无水池塘,终将群鲜枯竭。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 SQL Server 千万数量级 分页 存储过程相关的知识,希望对你有一定的参考价值。
SQL Server 千万数量级 分页 存储过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
随着信息时代的发展信息系统的使用越来越多 信息量越来越大 当信息量越来越大 这在数据展示 特别是报表这块对系统展现效率要求越来越高 对于千万级数据量的展示必须得使用分页来展示 If object_id( SP_Pagination )is not null drop proc SP_Pagination go Create PROCEDURE SP_Pagination /**//* *************************************************************** ** 千万数量级分页存储过程 ** *************************************************************** 参数说明: Tables :表名称 视图(试图这边目前还有点小问题) PrimaryKey :主关键字 Sort :排序语句 不带Order By 比如 NewsID Desc OrderRows Asc CurrentPage :当前页码 PageSize :分页尺寸 Filter :过滤语句 不带Where Group :Group语句 不带Group By ***************************************************************/ ( @Tables varchar( ) @PrimaryKey varchar( ) @Sort varchar( ) = NULL @CurrentPage int = @PageSize int = @Fields varchar( ) = * @Filter varchar( ) = NULL @Group varchar( ) = NULL ) AS /**//*默认排序*/ IF @Sort IS NULL OR @Sort = SET @Sort = @PrimaryKey DECLARE @SortTable varchar( ) DECLARE @SortName varchar( ) DECLARE @strSortColumn varchar( ) DECLARE @operator char( ) DECLARE @type varchar( ) DECLARE @prec int /**//*设定排序语句 */ IF CHARINDEX( DESC @Sort)> BEGIN SET @strSortColumn = REPLACE(@Sort DESC ) SET @operator = <= END ELSE BEGIN IF CHARINDEX( ASC @Sort) = print print REPLACE(@Sort ASC ) SET @strSortColumn = REPLACE(@Sort ASC ) print @strSortColumn SET @operator = >= print @operator END IF CHARINDEX( @strSortColumn) > BEGIN SET @SortTable = SUBSTRING(@strSortColumn CHARINDEX( @strSortColumn)) SET @SortName = SUBSTRING(@strSortColumn CHARINDEX( @strSortColumn) + LEN(@strSortColumn)) END ELSE BEGIN SET @SortTable = @Tables SET @SortName = @strSortColumn print @SortTable print @SortName END SELECT @type=t name @prec=c prec FROM sysobjects o JOIN syscolumns c on o id=c id JOIN systypes t on c xusertype=t xusertype WHERE o name = @SortTable AND c name = @SortName print @type print @prec IF CHARINDEX( char @type) > SET @type = @type + ( + CAST(@prec AS varchar) + ) DECLARE @strPageSize varchar( ) DECLARE @strStartRow varchar( ) DECLARE @strFilter varchar( ) DECLARE @strSimpleFilter varchar( ) DECLARE @strGroup varchar( ) /**//*默认当前页*/ IF @CurrentPage < SET @CurrentPage = /**//*设置分页参数 */ SET @strPageSize = CAST(@PageSize AS varchar( )) SET @strStartRow = CAST(((@CurrentPage )*@PageSize + ) AS varchar( )) /**//*筛选以及分组语句 */ IF @Filter IS NOT NULL AND @Filter != BEGIN SET @strFilter = WHERE + @Filter + SET @strSimpleFilter = AND + @Filter + END ELSE BEGIN SET @strSimpleFilter = SET @strFilter = END IF @Group IS NOT NULL AND @Group != SET @strGroup = GROUP BY + @Group + ELSE SET @strGroup = /*print @type print @strStartRow print @strSortColumn print @Tables print @strFilter print @strGroup print @Sort*/ /**//*执行查询语句*/ EXEC( DECLARE @SortColumn + @type + SET ROWCOUNT + @strStartRow + SELECT @SortColumn= + @strSortColumn + FROM + @Tables + @strFilter + + @strGroup + ORDER BY + @Sort + SET ROWCOUNT + @strPageSize + SELECT + @Fields + FROM + @Tables + WHERE + @strSortColumn + @operator + @SortColumn + @strSimpleFilter + + @strGroup + ORDER BY + @Sort + )
下面是在数据库查询分析器里面怎么调用这个存储过程的实例 如图所示为Traffic_Sites原表查询的结果集 以Traffic_Sites表为例执行分页存储过程脚本 exec SP_Pagination Traffic_Sites Id Id asc * 执行上述SQL结果如图所示 cha138/Article/program/SQLServer/201311/22256相关参考
CREATEPROCmyx_prPageRecordset @queryStrnvarchar() @keyFieldnvarc
“俄罗斯存储过程”的改良版 CREATEprocedurepagination(@pagesizeint页面大小如每页存储条记录@pageindexint当前页码)assetnocountonb
SQL大数据量分页存储过程效率测试 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! /*存储过程分
SQLServer编写存储过程小工具 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在开发数据库
SQLServer加密存储过程的破解问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! CREA
SQLServer存储过程编程经验技巧 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! MS SQ
知识大全 Delphi与SQL Server存储过程编程详解
Delphi与SQLServer存储过程编程详解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
SQLServer存储过程编写和优化措施[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb
SQLServer存储过程编写和优化措施[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb
知识大全 .Net下调用SQL Server2000中存储过程
.Net下调用SQLServer2000中存储过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!