zoukankan      html  css  js  c++  java
  • 分页存储过程

    set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[GetRecordFromPage] @SelectList VARCHAR(2000), --欲选择字段列表 @TableSource VARCHAR(100), --表名或视图表 @SearchCondition VARCHAR(2000), --查询条件 @OrderExpression VARCHAR(1000), --排序表达式 @PageIndex INT = 1, --页号,从0开始 @PageSize INT = 10 --页尺寸 AS BEGIN IF @SelectList IS NULL OR LTRIM(RTRIM(@SelectList)) = '' BEGIN SET @SelectList = '*' END PRINT @SelectList SET @SearchCondition = ISNULL(@SearchCondition,'') SET @SearchCondition = LTRIM(RTRIM(@SearchCondition)) IF @SearchCondition <> '' BEGIN IF UPPER(SUBSTRING(@SearchCondition,1,5)) <> 'WHERE' BEGIN SET @SearchCondition = 'WHERE ' + @SearchCondition END END PRINT @SearchCondition SET @OrderExpression = ISNULL(@OrderExpression,'') SET @OrderExpression = LTRIM(RTRIM(@OrderExpression)) IF @OrderExpression <> '' BEGIN IF UPPER(SUBSTRING(@OrderExpression,1,5)) <> 'WHERE' BEGIN SET @OrderExpression = 'ORDER BY ' + @OrderExpression END END PRINT @OrderExpression IF @PageIndex IS NULL OR @PageIndex < 1 BEGIN SET @PageIndex = 1 END PRINT @PageIndex IF @PageSize IS NULL OR @PageSize < 1 BEGIN SET @PageSize = 10 END PRINT @PageSize DECLARE @SqlQuery VARCHAR(4000) SET @SqlQuery='SELECT '+@SelectList+',RowNumber FROM (SELECT ' + @SelectList + ',ROW_NUMBER() OVER( '+ @OrderExpression +') AS RowNumber FROM '+@TableSource+' '+ @SearchCondition +') AS RowNumberTableSource WHERE RowNumber BETWEEN ' + CAST(((@PageIndex - 1)* @PageSize+1) AS VARCHAR) + ' AND ' + CAST((@PageIndex * @PageSize) AS VARCHAR) -- ORDER BY ' + @OrderExpression PRINT @SqlQuery SET NOCOUNT ON EXECUTE(@SqlQuery) SET NOCOUNT OFF RETURN @@RowCount END

  • 相关阅读:
    第十篇 数据类型总结
    第九篇 字典类型的内置方法
    第二篇 输入与输出以及基础运算符
    <爬虫实战>糗事百科
    <读书笔记>如何入门爬虫?
    <读书笔记>001-以解决问题为导向的python编程实践
    <小白学技术>将python脚本导出为exe可执行程序
    <Django> 第三方扩展
    <Django> 高级(其他知识点)
    <Django> MVT三大块之Template(模板)
  • 原文地址:https://www.cnblogs.com/BungeeJumping/p/2377431.html
Copyright © 2011-2022 走看看