例子如下
ALTER PROC [dbo].[BorrowFlowUnderlease_GetAll]
/*
用途:分页获取所有转借信息
作者:***
时间:2015-5-1
测试用例:EXEC BorrowFlowUnderlease_GetAll 1,"flowID LIKE '%9%'",10
*/
@currPage int = 1, --->当前页码(即top currPage)
@strCondition varchar(2000) = '1=1', --->查询条件(即where condition......) 不用加where关键字
@pageSize int = 10 --->分页大小
AS
BEGIN --->存储过程开始
declare @strSql varchar(4000) --->该存储过程最后执行的语句
set @strSql='SELECT * FROM(
select flowID,lID,areaName,borrowDate,typeName,ROW_NUMBER() OVER(ORDER BY flowID DESC) AS row FROM r_borrowFlow
LEFT JOIN tb_bottleInfo ON bID = tb_bottleInfo.ID LEFT JOIN tb_personInfo ON pID = tb_personInfo.ID LEFT JOIN tb_inpatientAreaInfo ON iID = tb_inpatientAreaInfo.ID LEFT JOIN tb_bottleType ON tb_bottleInfo.typeID = tb_bottleType.ID
where flowID IN (select distinct(r1.flowID) from r_borrowFlow r1 inner join r_borrowFlow r2 on r1.flowID = r2.flowID and r1.ID<>r2.ID)
)as a WHERE '+@strCondition+' and a.row between '+str((@currPage-1)*@pageSize+1)+' and '+str((@currPage)*@pageSize)
EXEC (@strSql)
print(@strSql)
end --->存储过程结束