SQLSERVER 高效率分页存储过程
来源:互联网 发布:网络凸凸是什么意思 编辑:程序博客网 时间:2024/06/04 20:48
IF OBJECT_ID('[usp_Common_Sel_TableData]') IS NOT NULLBEGINDROP PROCEDURE [dbo].[usp_Common_Sel_TableData]ENDGO/*declare @PageCount int,@RecordCount intexec [usp_Common_Sel_TableData] @TableName=N'vw_Sale_SaleContract_All',@ReturnFields=N'*',@PageSize=10,@PageIndex=1,@FilterString=N'CompanyID=309',@SortExpression=N'CreateTime DESC',@PageCount=@PageCount output,@RecordCount=@RecordCount outputSELECT@PageCount as N'PageCount',@RecordCount as N'RecordCount'*/CREATE PROCEDURE [dbo].[usp_Common_Sel_TableData]@TableNameNVARCHAR(2000),-- 表名@ReturnFieldsNVARCHAR(1000) = '*',-- 查询列数@PageSizeINT = 10,-- 每页数目@PageIndexINT = 1,-- 当前页码@FilterStringNVARCHAR(1000) = '',-- 查询条件@SortExpressionNVARCHAR(1000),-- 排序字段@PageCountINT OUTPUT,-- 页码总数@RecordCountINT OUTPUT -- 记录总数 AS--设置属性SET NOCOUNT ON-- 变量定义DECLARE @TotalRecord INTDECLARE @TotalPage INTDECLARE @CurrentPageSize INTDECLARE @TotalRecordForPageIndex INTBEGINIF @FilterString IS NULL SET @FilterString=N''IF(@FilterString<>'') SET @FilterString=N'WHERE '+@FilterString-- 记录总数DECLARE @countSql NVARCHAR(4000) IF @RecordCount IS NULLBEGINSET @countSql='SELECT @TotalRecord=Count(*) From '+@TableName+' '+@FilterStringEXECUTE sp_executesql @countSql,N'@TotalRecord int out',@TotalRecord OUTENDELSEBEGINSET @TotalRecord=@RecordCountENDSET @RecordCount=@TotalRecordSET @TotalPage=(@TotalRecord-1)/@PageSize+1SET @CurrentPageSize=(@PageIndex-1)*@PageSize-- 返回总页数和总记录数SET @PageCount=@TotalPageSET @RecordCount=@TotalRecord-- 返回记录SET @TotalRecordForPageIndex=@PageIndex*@PageSizeEXEC('SELECT *FROM (SELECT TOP '+@TotalRecordForPageIndex+' '+@ReturnFields+', ROW_NUMBER() OVER (ORDER BY '+@SortExpression+') AS PageView_RowNoFROM '+@TableName+ ' ' + @FilterString +' ) AS TempPageViewTableWHERE TempPageViewTable.PageView_RowNo > '+@CurrentPageSize)ENDGO
阅读全文
0 0
- SQLSERVER 高效率分页存储过程
- 高效率的分页存储过程
- 分页 SQLServer存储过程
- 分页 SQLServer存储过程
- SqlServer分页存储过程
- 分页 SQLServer存储过程
- 分页 SQLServer存储过程
- SQLServer 分页存储过程
- 分页SQLServer存储过程
- SQLServer存储过程分页
- SqlServer存储过程分页
- SQLServer 分页存储过程
- sqlserver分页存储过程
- SqlServer 分页存储过程
- sqlserver 分页存储过程
- SqlServer分页存储过程
- SqlServer 分页存储过程
- SqlServer存储过程分页
- 在CentOS7上部署OpenStack 步骤详解
- vue项目中如何引入jquery
- Angular,添加,删除,查询,排序
- iOS 更改tabbar字体颜色 自定义controller返回按钮
- 前端基础
- SQLSERVER 高效率分页存储过程
- 35岁的我加入创业公司4个月后毅然离职,这些经验希望你们都能早点知道
- 【SpringMVC】一个Action中,写多个业务控制方法(十一)
- 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 (解法)
- NOIP2017——总结
- Java中length() .length和size()方法和Js中的length 属性
- 解决APP启动时白屏或黑屏几秒的问题
- 零基础照样拿下产品offer!且看产品小白如何逆袭?
- 阿里云 CDN HTTPS 最佳实践——TLS record size(五)