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

    alter proc SP_Hangkong
    @table nvarchar(200), --表,字段,条件,
    @field nvarchar(2000)='*', --字段
    @where nvarchar(2000), --条件
    @order nvarchar(200), --排序所需要的的
    @pageSize int, --每页显示的个数
    @pageNumber int,--页数
    @Total int output
    as
    begin
    declare @strSql nvarchar(4000) --拼接字符串
    declare @strCount nvarchar(2000) --拼接用于返回的总行数
    declare @start int,@end int
    set @start = (@pageNumber-1)*@pageSize+1 --开始的页数
    set @end = @start+@pageSize - 1 --结束的页数

    set @strSql = 'select * from (select ROW_NUMBER() over(order by '+@order+') as rowId,'+@field+' from '+@table+' '+@where+') as t where (t.rowId between '+LTRIM(str(@start))+' and '+LTRIM(str(@end))+')'
    set @strCount='select @Total=count(*) from '+@table+''

    --判断条件

    if(@where is not null or @where != '')
    begin
    set @strCount=@strCount+' '+@where
    end

    --执行查询语句
    exec(@strsql) --这里没有输出参数
    print @strsql
    exec sp_executesql @strCount,N'@Total int output',@Total output
    end

  • 相关阅读:
    LeetCode
    LeetCode
    LeetCode
    深度学习笔记 (二) 在TensorFlow上训练一个多层卷积神经网络
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
  • 原文地址:https://www.cnblogs.com/lvjingchao/p/13064212.html
Copyright © 2011-2022 走看看