标签:
ALTER PROCEDURE [dbo].[BrokerToLenderDataShow2]
@Where VARCHAR(200), --查询条件 不含‘where‘字符,如id>10 and len(userid)>9
--@Order VARCHAR(200), --排序 不含‘order by‘字符,如id asc,userid desc,必须指定asc或desc
--注意当@SortType=3时生效,记住一定要在最后加上主键,否则会让你比较郁闷
--@SortType INT, --排序规则 1:正序asc 2:倒序desc 3:多列排序方法
--@RecorderCount INT, --记录总数 0:会返回总记录
@PageSize INT, --每页输出的记录数
@PageIndex INT --当前页数,从1开始
--@TotalCount INT OUTPUT, --记返回总记录
--@TotalPageCount INT OUTPUT --返回总页数
AS
BEGIN
DECLARE @Sql VARCHAR(2000), @Sql2 NVARCHAR(2000),@sql3 nvarchar(2000),@BetweenStart int ,@BetweenEnd int
set @BetweenStart= convert(int,@PageSize*@PageIndex)-@PageSize+1
set @BetweenEnd=convert(int,@PageSize*@PageIndex)
set @Sql3= ‘ select * from ( SELECT ROW_NUMBER() over (ORDER BY b.ID ) RowNumber,
* from loanee b where 1=1 ‘+@Where+‘
) t
where t.RowNumber BETWEEN ‘ + ltrim(str(@BetweenStart)) + ‘ and ‘ + ltrim(str(@BetweenEnd));
print @sql3
exec(@sql3)
END
-----------------------------------------------------------------------------------
-- 没有条件 的 调用
exec [BrokerToLenderDataShow2] ‘ ‘,10,1
--有条 的调用
exec [BrokerToLenderDataShow2] ‘ and id>10‘,10,1
标签:
原文地址:http://www.cnblogs.com/yangjinwang/p/5030667.html