最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

SQL分页存储过程支持连接查询等复杂的SQL

来源:动视网 责编:小采 时间:2020-11-09 10:04:34
文档

SQL分页存储过程支持连接查询等复杂的SQL

SQL分页存储过程支持连接查询等复杂的SQL:CREATE PROCEDURE Pagination( @SQL nvarchar(1024), @PageSize int = 20, --分页大小 @PageIndex int = 0, --分页索引 @Sort nvarchar(100) = '''', --排序字段 @TotalCount int = 0 output --总数 )AS
推荐度:
导读SQL分页存储过程支持连接查询等复杂的SQL:CREATE PROCEDURE Pagination( @SQL nvarchar(1024), @PageSize int = 20, --分页大小 @PageIndex int = 0, --分页索引 @Sort nvarchar(100) = '''', --排序字段 @TotalCount int = 0 output --总数 )AS


CREATE PROCEDURE Pagination
(
@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:CREATE PROCEDURE Pagination( @SQL nvarchar(1024), @PageSize int = 20, --分页大小 @PageIndex int = 0, --分页索引 @Sort nvarchar(100) = '''', --排序字段 @TotalCount int = 0 output --总数 )AS
推荐度:
标签: 查询 支持 sql
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top