SQL分页存储过程支持连接查询等复杂的SQL
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了SQL分页存储过程支持连接查询等复杂的SQL,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1348字,纯文字阅读大概需要2分钟。
内容图文
![SQL分页存储过程支持连接查询等复杂的SQL](/upload/InfoBanner/zyjiaocheng/545/23d9bdbc6141442d949ea9ae30aae2d4.jpg)
(
@SQL nvarchar(1024),
@PageSize int = 20, --分页大小
@PageIndex int = 0, --分页索引
@Sort nvarchar(100) = '''', --排序字段
@TotalCount int = 0 output --总数
)
AS
set nocount on
/*声明查询字符串*/
declare @strSQL nvarchar(4000)
set @strSQL = '' select @TotalCount=count(*) from () as t ''
/*取得查询结果总数*/
exec sp_executesql
@strSQL,
int=0 OUTPUT'',
@TotalCount=@TotalCount OUTPUT
declare @ItemCount int
declare @_PageIndex int
set @_PageIndex = @PageIndex + 1;
/*确定搜索边界*/
set @ItemCount = @TotalCount - @PageSize * @_PageIndex
if(@ItemCount < 0)
set @ItemCount = @ItemCount + @PageSize
else
set @ItemCount = @PageSize
if(@ItemCount < 0) return 1
if(@Sort != '''')
begin
/*声明排序变量*/
declare @IndexSort1 nvarchar(50), @IndexSort2 nvarchar(50), @Sort1 nvarchar(50), @Sort2 nvarchar(50)
SET @Sort1 = @Sort
SET @Sort2 = Replace(Replace(Replace(@Sort, ''DESC'', ), ''ASC'', ''DESC''), , ''ASC'')
print @Sort1
print @Sort2
set @strSQL = ''SELECT * FROM
(SELECT TOP '' + STR(@ItemCount) + '' * FROM
(SELECT TOP '' + STR(@PageSize * @_PageIndex) + '' * FROM
() AS t0
ORDER BY +'') AS t1
ORDER BY +'') AS t2
ORDER BY ''
end
else
begin
set @strSQL = ''SELECT * FROM
(SELECT TOP '' + STR(@ItemCount) </
内容总结
以上是互联网集市为您收集整理的SQL分页存储过程支持连接查询等复杂的SQL全部内容,希望文章能够帮你解决SQL分页存储过程支持连接查询等复杂的SQL所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。