网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的范文:

 

标题 SqlServer 分页存储过程
范文
    SqlServer 分页存储过程
    create proc [dbo].[proc_Opinion_BaseInfo]
    @TableName varchar(4000),
    @PkField varchar(100),
    @PageIndex int=1,
    @PageSize int=10,
    @SqlWhere nvarchar(4000),
    @RowCount bigint output,
    @PageCount bigint output
    as
    if(@SqlWhere='1')
    set @SqlWhere = '1=1'
    declare @sql nvarchar(4000),@start int,@end int
    set @sql='select * from (select Row_NUMBER() OVER(order by '+@PkField+' desc) rowId,* from '+@TableName+' where '+@SqlWhere
    set @start = (@PageIndex-1)*@PageSize+1
    set @end = @start+@PageSize-1
    set @sql = @sql + ') t where rowId between '+CAST(@start as varchar(20))+' and ' +CAST(@end as varchar(20))
    exec (@sql)
    set @sql = 'select @RowCount=count(1) from '+@TableName+' where '+@SqlWhere
    exec sp_executesql @sql,N'@RowCount bigint OUTPUT',@RowCount OUTPUT
    if(@RowCount%@PageSize=0)
    begin
    set @PageCount = @RowCount / @PageSize
    end
    else
    begin
    set @PageCount = @RowCount / @PageSize +1
    end
随便看

 

在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/24 1:40:15