sqlServer存储过程通用分页

sqlServer存储过程通用分页,第1张

概述关键字:sqlServer存储过程通用分页 说明:java调用程序,请参照 上一篇oracle存储过程通用分中的程序 sql: CREATE PROCEDURE GetRecordFromPage       @tblName      varchar(255),       -- 表名       @fldName      varchar(255),       -- 字段名       @P 关键字:sqlServer存储过程通用分页 说明:java调用程序,请参照 上一篇oracle存储过程通用分中的程序 sql: CREATE PROCEDURE GetRecordFromPage       @tblname      varchar(255),       -- 表名       @fldname      varchar(255),       -- 字段名       @PageSize     int = 10,           -- 页尺寸       @PageIndex    int = 1,            -- 页码       @IsCount      bit = 0,            -- 返回记录总数,非 0 值则返回       @OrderType    bit = 0,            -- 设置排序类型,非 0 值则降序       @strWhere     varchar(1000) = ''  -- 查询条件 (注意: 不要加 where)   AS    declare @strsql   varchar(6000)       -- 主语句   declare @strTmp   varchar(100)        -- 临时变量   declare @strOrder varchar(400)        -- 排序类型     if @OrderType != 0   begin      set @strTmp = "<(select min"      set @strOrder = " order by [" + @fldname +"] desc"  end  else  begin      set @strTmp = ">(select max"      set @strOrder = " order by [" + @fldname +"] asc"  end    set @strsql = "select top " + str(@PageSize) + " * from ["      + @tblname + "] where [" + @fldname + "]" + @strTmp + "(["      + @fldname + "]) from (select top " + str((@PageIndex-1)*@PageSize) + " ["      + @fldname + "] from [" + @tblname + "]" + @strOrder + ") as tblTmp)"      + @strOrder     if @strWhere != ''      set @strsql = "select top " + str(@PageSize) + " * from ["          + @tblname + "] where [" + @fldname + "]" + @strTmp + "(["          + @fldname + "]) from (select top " + str((@PageIndex-1)*@PageSize) + " ["          + @fldname + "] from [" + @tblname + "] where " + @strWhere + " "          + @strOrder + ") as tblTmp) and " + @strWhere + " " + @strOrder     if @PageIndex = 1   begin      set @strTmp = ""      if @strWhere != ''          set @strTmp = " where " + @strWhere         set @strsql = "select top " + str(@PageSize) + " * from ["          + @tblname + "]" + @strTmp + " " + @strOrder   end    if @IsCount != 0       set @strsql = "select count(*) as Total from [" + @tblname + "]"    exec (@strsql)     GO  总结

以上是内存溢出为你收集整理的sqlServer存储过程通用分页全部内容,希望文章能够帮你解决sqlServer存储过程通用分页所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1180009.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存