首页 > 数据库技术 > 详细

sqlserver存储过程----通用分页

时间:2016-07-08 13:19:39      阅读:181      评论:0      收藏:0      [点我收藏+]
下面这个sql是sqlserver中通用分页存储过程:
 
if (exists(select * from sys. procedures where name= ‘proc_paging‘ ))-- 如果 proc_paging这个存储过程存在
drop proc proc_paging  -- 那么就删除这个存储过程
go
create proc proc_paging(
       @pageSize nvarchar ( 50),
       @currentPage nvarchar ( 50),
       @tablename nvarchar ( 50),
       @orderbycolumn nvarchar ( 50),
       @wherewithand nvarchar ( max)
) --创建存储过程
as
begin
 
-- 声明变量
declare @sql nvarchar( max )
 
-- 拼接sql
set @sql =
‘select top ‘ +@pageSize + ‘ * from (
      select ROW_NUMBER() over(order by ‘ + @orderbycolumn+ ‘) as rowid ,* from ‘+ @tablename+ ‘
            where 1=1 ‘ + @wherewithand+ ‘
)as A
where rowid> (‘ +@pageSize + ‘)*((‘+ @currentPage +‘)-1)‘
 
-- 执行sql 命令
exec (@sql )
end
go
 
--测试
exec proc_paging 10, 1 ,‘loginfo‘ , ‘id‘, ‘‘
 

sqlserver存储过程----通用分页

原文:http://www.cnblogs.com/nearpengju123/p/5652939.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!