`
流星剑
  • 浏览: 92088 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sql分页存储过程

SQL 
阅读更多
create proc testProc
@currentPage int=1, --当前页码
@count int=10,  --每页数量
@tableName nvarchar(20),
@column nvarchar(20)--列名
as 
declare @temp nvarchar(500) --存放总条数
declare @allcount int  --所有数据总条数
declare @pagecount int --分页的页数
declare @sql nvarchar(1000)
set @temp=N'select @a=count(*) from '+@tableName
exec sp_executesql @temp,N'@a int output',@allcount output
set @pagecount=(@allcount+(@count-1))/@count--获得分页的页数
set @sql=N'select top '+cast (@count as nvarchar(4))
set @sql = @sql+N' * from '+ @tableName +N' where '+ @column+N' not in ( '
set @sql = @sql+N' select top  ' + cast(((@currentPage-1)*@count) as nvarchar(3))
set @sql= @sql+' '+@column +N'  from ' + @tableName+' )'
select @allcount
select @pagecount
exec (@sql)
exec testProc 1,3,'studentinfo','xuehao'

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics