zoukankan      html  css  js  c++  java
  • SQL 2005通用分页存储过程

    -- =============================================
    --
     Description:    <SQL2005及后续版本通用分页存储过程>调用方法: sp_Pager2005 'xtest','*','ORDER BY ID ASC','xname like ''%222name%''',2,20,0,0
    --
                        适合从单个表查询数据
    --
     =============================================
    ALTER PROCEDURE [dbo].[Proc_GetDataPaged_2005]
    @tblName   varchar(255),            -- 表名如:'xtest'
    @strGetFields varchar(1000= '*',  -- 需要返回的列如:'xname,xdemo'
    @strOrder varchar(255)='',          -- 排序的字段名如:'order by id desc'
    @strWhere  varchar(1500= '',      -- 查询条件(注意:不要加where)如:'xname like ''%222name%''' 
    @pageIndex int=1,                  --开始记录位置
    @pageSize   int = 20,               -- 每页记录数如:20
    @recordCount int output,            -- 记录总数
    @doCount bit=0                        -- 非0则统计,为0则不统计(统计会影响效率)
    AS

    declare @strSQL varchar(5000)
    declare @strCount nvarchar(1000)
    --总记录条数
    if(@doCount!=0)
    begin
        if(@strWhere !='')
        begin
            set @strCount='set @num=(select count(1) from '+ @tblName + ' where '+@strWhere+' )'
        end
        else
        begin
            set @strCount='set @num=(select count(1) from '+ @tblName + ' )'
        end
        EXECUTE sp_executesql @strCount ,N'@num INT output',@RecordCount output
    end

    if @strWhere !=''
    begin
        set @strWhere=' where '+@strWhere
    end
    set @strSQL='SELECT * FROM (SELECT ROW_NUMBER() OVER ('+@strOrder+') AS ROWID,'
    set @strSQL=@strSQL+@strGetFields+' FROM ['+@tblName+''+@strWhere
    set @strSQL=@strSQL+') AS sp WHERE ROWID BETWEEN '+str((@pageindex-1)*@pagesize+1)
    set @strSQL=@strSQL+' AND '+str(@pageindex*@pagesize)

    exec (@strSQL)
  • 相关阅读:
    微信小程序之----加载中提示框loading
    微信小程序之----消息提示框toast
    微信小程序之----弹框组件modal
    浅析浏览器的回流与重绘 (Reflow & Repaint)
    关于input的一些问题解决方法分享
    关于js中 toFixed()的一个小坑
    浅谈js中null和undefined的区别
    浅谈JS中的闭包
    浅谈JS中的浅拷贝与深拷贝
    css设置居中的方案总结
  • 原文地址:https://www.cnblogs.com/hejunrex/p/2224895.html
Copyright © 2011-2022 走看看