create PROCEDURE Sp_Conn_Sort @strGetFields varchar(1000) = *, — 需要返回的列 @fldName varchar(255)=, — 排序的字段名 @PageSize int = 40, — 页尺寸 @PageIndex int = 1, — 页码 @doCount bit = 0, — 返回记录总数, 非 0 值则返回 @OrderType bit = 0, — 设置排序类型, 非 0 值则降序 declare @strSQL varchar(5000) — 主语句 declare @strTmp varchar(110) — 临时变量 declare @strOrder varchar(400) — 排序类型 if @doCount != 0 begin if @strWhere != set @strSQL = select count(*) as Total from + @tblName + where +@strWhere else set @strSQL = select count(*) as Total from + @tblName end –以上代码的意思是如果@doCount传递过来的不是0,就执行总数统计。以下的所有代码都是@doCount为0的情况 else begin if @OrderType != 0 begin set @strTmp = <(select min set @strOrder = order by + @fldName + desc –如果@OrderType不是0,就执行降序,这句很重要! end else begin set @strTmp = >(select max set @strOrder = order by + @fldName + asc end if @PageIndex = 1 begin if @strWhere != set @strSQL = select top + str(@PageSize) + +@strGetFields+ from + @tblName + where + @strWhere + + @strOrder else set @strSQL = select top + str(@PageSize) + +@strGetFields+ from + @tblName + + @strOrder –如果是第一页就执行以上代码,这样会加快执行速度 end else begin –以下代码赋予了@strSQL以真正执行的SQL代码 set @strSQL = select top + str(@PageSize) + +@strGetFields+ 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) + +@strGetFields+ from + @tblName + where + @fldName + + @strTmp + ( + @fldName + ) from (select top + str((@PageIndex-1)*@PageSize) + + @fldName + from + @tblName + where + @strWhere + + @strOrder + ) as tblTmp) and + @strWhere + + @strOrder end end exec (@strSQL) —————– http://www.cnblogs.com/wang123/archive/2006/08/05/468717.html
(
@tblName varchar(255), — 表名
@strWhere varchar(1500)= — 查询条件 (注意: 不要加 where)
)
AS
如我你有更好的分页存储过程,希望能与之交流
QQ:271059875
一个比较好的分页存储过程_数据库技巧
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 一个比较好的分页存储过程_数据库技巧
相关推荐
-      sql语句中的判断功能的使用方法
-      sql语句中的判断功能的使用方法
-      SQL语言中去掉小数点有效数字后面的所有0
-      ASP连接各种数据库的代码
-      在sql语句中实现md5功能
-      给access数据库减肥
-      asp连接access数据库代码(2)
-      更改 SQL Server 登录模式