爱问知识人 爱问教育 医院库

什么是支持多字段排序的SQLServer分页存储过程?

首页

什么是支持多字段排序的SQLServer分页存储过程?

什么是支持多字段排序的SQLServer分页存储过程?

提交回答

全部答案

    2017-07-26 14:45:55
  •   分页过程很多,但是这个是可以支持多字段排序的。
       CREATE PROCEDURE GetRecordByPage ( @sTable nvarchar(100), --表名 @sPkey nvarchar(50), --主键(一定要有) @sField nvarchar(1000)=’*’, --字段 @iPageCurr int, --当前页数 @iPageSize int, --每页记录数 @sCondition nvarchar(1000), --条件(不需要where) @sOrder nvarchar(100) , --排序(不需要order by,需要asc和desc字符) @Counts int=0 output, --记录条数(已有值:外部赋值,0执行count) @pageCount int=1 output --查询结果分页后的总页数 ) AS SET NOCOUNT ON DECLARE @sC1 nvarchar(1000),@sC2 nvarchar(1000) DECLARE @iAsc int,@iDesc int,@iType tinyint DECLARE @sT1 nvarchar(1000),@sT2 nvarchar(1000),@sT3 nvarchar(1000),@sT4 nvarchar(1000),@sSQL nvarchar(4000) /*----------------------判断where 条件是否空值-------------------*/ IF LEN(@sCondition)>2 SELECT @sC1=’ WHERE ’+@sCondition+’ ’, @sC2=’ WHERE ’+@sCondition+’ AND ’ ELSE BEGIN SELECT @sC1=’’, @sC2=’ WHERE ’ END SELECT @sT1=UPPER(@sOrder), @sT2=@sOrder, @iType=0, @sOrder=’’, @sT4=UPPER(@sPkey) /*-----------------------获取查询的数据行数---------------------*/ IF LEN(@sT2)>2 BEGIN SELECT @iAsc=0, @iDesc=0 IF @sT4=SUBSTRING(@sT1,0,LEN(@sT4)) --存在主建 BEGIN SELECT @iAsc=CHARINDEX(’ASC’,@sT1), @iDesc=CHARINDEX(’DESC’,@sT1) END IF (@iAsc>0 and @iDesc=0) OR ((@iAsc>0 AND @iDesc>0) AND (@iAsc(SELECT MAX(’ ELSE IF (@iAsc=0 and @iDesc>0) OR ((@iAsc>0 AND @iDesc>0) AND (@iAsc>@iDesc))。

    我***

    2017-07-26 14:45:55

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):