SQL Server 比较实用的大数据量分页存储过程
2022-11-12 09:52:40
内容摘要
这篇文章主要为大家详细介绍了SQL Server 比较实用的大数据量分页存储过程,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!createprocsp_P
文章正文
这篇文章主要为大家详细介绍了SQL Server 比较实用的大数据量分页存储过程,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
createprocsp_PublicTurnPageWebSite(@TBNamenvarchar(100)='',--表名,如pinyin@PageSizeint=10,--每页的记录数,默认为10@CurPageint=1,--表示当前页1@KeyFieldnvarchar(100)='ID',--关键字段名,默认为ID,该字段要求是表中的索引或无重复和不为空的字段@KeyAscDescnvarchar(4)='ASC',--关键字的升、降序,默认为升序ASC,降序为DESC@Fieldsnvarchar(500)='*',--所选择的列名,默认为全选@Conditionnvarchar(200)='',--where条件,默认为空@Ordernvarchar(200)=''--排序条件,默认为空)withencryptionasif@TBName=''beginraiserror('请指定表名!',11,1)returnendif@PageSize<=0or@CurPage<0beginraiserror('当前页数和每页的记录数都必须大于零!',11,1)returnendif@KeyAscDesc='DESC'set@KeyAscDesc='<'elseset@KeyAscDesc='>'if@Condition<>''set@Condition='where'+@Conditiondeclare@SQLnvarchar(2000)set@SQL=''if@CurPage=1set@SQL=@SQL+'SelectTop'+cast(@PageSizeasnvarchar(20))+''+@Fields+'FROM'+@TBName+@Condition+''+@Orderelsebegindeclare@iTopNumintset@iTopNum=@PageSize*(@CurPage-1)set@SQL=@SQL+'declare@sLastValuenvarchar(100)'+char(13)set@SQL=@SQL+'SelectTop'+cast(@iTopNumasnvarchar(20))+'@sLastValue='+@KeyField+'FROM'+@TBName+@Condition+''+@Order+char(13)declare@Condition2nvarchar(200)if@Condition=''set@Condition2='where'+@KeyField+@KeyAscDesc+'@sLastValue'elseset@Condition2='and'+@KeyField+@KeyAscDesc+'@sLastValue'set@SQL=@SQL+'SelectTop'+cast(@PageSizeasnvarchar(20))+''+@Fields+'FROM'+@TBName+@Condition+@Condition2+@OrderendEXECUTEsp_executesql@SQL注:关于SQL Server 比较实用的大数据量分页存储过程的内容就先介绍到这里,更多相关文章的可以留意
代码注释