- create proc sp_PublicTurnPageWebSite(
- @TBName nvarchar(100)=”, –表名,如 pinyin
- @PageSize int=10, –每页的记录数,默认为 10
- @CurPage int=1, –表示当前页 1
- @KeyField nvarchar(100)=‘ID’, –关键字段名,默认为 ID,该字段要求是表中的索引 或 无重复和不为空的字段
- @KeyAscDesc nvarchar(4)=‘ASC’, –关键字的升、降序,默认为升序 ASC , 降序为 DESC
- @Fields nvarchar(500)=‘*’, –所选择的列名,默认为全选
- @Condition nvarchar(200)=”, –where 条件,默认为空
- @Order nvarchar(200)=” –排序条件,默认为空
- ) with encryption 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
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
请登录后发表评论
注册
社交帐号登录