高手写的分页存储过程create proc sp_PublicTurnPage(
高手写的分页存储过程
@TBName nvarchar(2000)='',--表名,如 pinyin
高手写的分页存储过程
@PageSizeint=10,--每页的记录数,默认为 10
高手写的分页存储过程
@CurPageint=1,--表示当前页 1
高手写的分页存储过程
@KeyFieldnvarchar(100)='ID',--关键字段名,默认为 ID,该字段要求是表中的索引 或 无重复和不为空的字段
高手写的分页存储过程
@KeyAscDescnvarchar(4)='ASC',--关键字的升、降序,默认为升序 ASC , 降序为 DESC
高手写的分页存储过程
@Fieldsnvarchar(2000)='*',--所选择的列名,默认为全选
高手写的分页存储过程
@Conditionnvarchar(2000)='',--where 条件,默认为空
高手写的分页存储过程
@Ordernvarchar(200)=''--排序条件,默认为空
高手写的分页存储过程
)as
高手写的分页存储过程
if @TBName = ''
高手写的分页存储过程   
begin
高手写的分页存储过程       
raiserror('请指定表名!',11,1)
高手写的分页存储过程       
return
高手写的分页存储过程   
end
高手写的分页存储过程
if @PageSize <=0 or @CurPage <0 
高手写的分页存储过程   
begin
高手写的分页存储过程       
raiserror('当前页数和每页的记录数都必须大于零!',11,1)
高手写的分页存储过程       
return
高手写的分页存储过程   
end
高手写的分页存储过程
if @KeyAscDesc = 'DESC'
高手写的分页存储过程
set @KeyAscDesc = '<'
高手写的分页存储过程
else
高手写的分页存储过程
set @KeyAscDesc = '>'
高手写的分页存储过程
if @Condition <> ''
高手写的分页存储过程
set @Condition = ' where ' + @Condition
高手写的分页存储过程
declare @SQL nvarchar(2000)
高手写的分页存储过程
高手写的分页存储过程
set @SQL = ''
高手写的分页存储过程
if @CurPage = 1
高手写的分页存储过程   
set @SQL = @SQL + 'SELECT Top ' + cast(@PageSize as nvarchar(20)) + ' ' + @Fields + ' FROM ' + @TBName + @Condition + ' ' + @Order
高手写的分页存储过程
else
高手写的分页存储过程   
begin
高手写的分页存储过程
declare @iTopNum int
高手写的分页存储过程
set @iTopNum = @PageSize * (@CurPage - 1)
高手写的分页存储过程
set @SQL = @SQL + 'declare @sLastValue nvarchar(100)' + char(13)
高手写的分页存储过程
set @SQL = @SQL + 'SELECT Top ' + cast(@iTopNum as nvarchar(20)) + ' @sLastValue=' + @KeyField + ' FROM ' + @TBName + @Condition + ' ' + @Order + char(13)
高手写的分页存储过程
高手写的分页存储过程
declare @Condition2 nvarchar(200)
高手写的分页存储过程
if @Condition = ''
高手写的分页存储过程   
set @Condition2 = ' where ' + @KeyField + @KeyAscDesc + '@sLastValue '
高手写的分页存储过程
else
高手写的分页存储过程   
set @Condition2 = ' and ' + @KeyField + @KeyAscDesc + '@sLastValue '
高手写的分页存储过程
set @SQL = @SQL + 'SELECT Top ' + cast(@PageSize as nvarchar(20)) + ' ' + @Fields + ' FROM ' + @TBName + @Condition + @Condition2 + @Order
高手写的分页存储过程   
end
高手写的分页存储过程
EXECUTE sp_executesql @SQL

相关文章:

  • 2021-12-04
  • 2022-02-05
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-02
  • 2022-12-23
  • 2021-12-04
猜你喜欢
  • 2022-12-23
  • 2021-06-28
  • 2021-08-03
  • 2022-12-23
相关资源
相似解决方案