简要咨询咨询QQ网站导航网站搜索手机站点联系我们设为首页加入收藏 

SqlServer 分页存储过程

来源:易贤网   阅读:767 次  日期:2014-11-03 11:50:42

温馨提示:易贤网小编为您整理了“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

更多信息请查看IT技术专栏

更多信息请查看数据库
点此处就本文及相关问题在本站进行非正式的简要咨询(便捷快速)】     【点此处查询各地各类考试咨询QQ号码及交流群
上一篇:SQL语句实现子孙树查询经典实例
下一篇:SQL SEVER创建登录帐号
易贤网手机网站地址:SqlServer 分页存储过程
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!