zoukankan      html  css  js  c++  java
  • 大数据优化的分页存储过程成品

    大数据优化的分页存储过程

    ALTER PROCEDURE [dbo].[GetPagingRecord](
    @tblName nvarchar(255), -- 表名
    @strGetFields nvarchar(4000) = '*', --欲选择字段列表
    @fldName nvarchar(255), -- 排序的字段名
    @ID nvarchar(100),--主键
    @Page int, --页码
    @RecsPerPage int, --每页容纳的记录数
    @strWhere varchar(4000) = '', -- 查询条件 (注意: 不要加 where)
    @OrderType bit = 1 -- 设置排序类型, 非 0 值则降序
    )
    AS
    DECLARE @Str nVARCHAR(4000)--临时SQL语句
    declare @Sort nvarchar(50)--临时排序变量

    /*处理字段的升降序 H1_start*/
    if @OrderType=1
    set @Sort='desc'
    else
    set @Sort='asc'
    /*H1_end*/

    /*处理查询条件 H2_start*/
    set @strwhere=replace(@strwhere,'''','''''')
    set @strwhere=replace(@strwhere,'--','')
    set @strwhere=replace(@strwhere,';','')
    set @strwhere=' where 1=1 '+@strwhere
    /*H2_end*/

    SET @Str='SELECT TOP '+CAST(@RecsPerPage AS VARCHAR(20))+' '+@strGetFields+' FROM '+@tblName+' T WHERE T.'+@ID+'
    NOT IN (SELECT TOP
    '+CAST((@RecsPerPage*(@Page-1)) AS VARCHAR(20))+' '+@ID+' FROM '+@tblName+' T9
    ORDER BY
    '+@fldName+' '+@Sort+')
    ORDER BY
    '+@fldName+' '+@Sort
    PRINT @Str
    EXEC sp_ExecuteSql @Str


       本人博客的文章大部分来自网络转载,因为时间的关系,没有写明转载出处和作者。所以在些郑重的说明:文章只限交流,版权归作者。谢谢

  • 相关阅读:
    鸡兔同笼问题
    猴子吃桃问题
    Fibonacci_sequence(斐波那契数列)
    Joseph_Circle(约瑟夫环)
    学生成绩管理--功能全--较难
    各种排序
    二叉排序树操作--基本
    面向对象程序设计(多继承)--简单
    面向对象程序设计3--简单
    使用 ASR 和 Azure Pack 为 IaaS 工作负荷提供托受管 DR
  • 原文地址:https://www.cnblogs.com/wzg0319/p/1742901.html
Copyright © 2011-2022 走看看