概述关键字: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存储过程通用分页所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)