加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL Server数据库分页存储过程代码

发布时间:2020-12-12 07:59:54 所属栏目:MsSql教程 来源:网络整理
导读:感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! 代码如下: /*? 数据库分页存储过程,支持倒序和升序? 参数说明:? ??@tablename:为搜索表名? ??@tablefield:为表的字段,约定为表的主键,? ??@where:为搜索表名,要显示所有记录请设

感兴趣的小伙伴,下面一起跟随编程之家 52php.cn的小编两巴掌来看看吧!

 

代码如下:


/*? 
数据库分页存储过程,支持倒序和升序? 
参数说明:? 
??@tablename:为搜索表名? 
??@tablefield:为表的字段,约定为表的主键,? 
??@where:为搜索表名,要显示所有记录请设为"1=1"? 
??@orderby:为搜索结果排序,如order?by?id?desc? 
??@fieldlist:为字段列表,如userid,?username? 
??@curpage:当前页码? 
??@page_record:每页记录条数? 
??@Sort:排序标识(如果是倒序排,参数值为desc,为升序,参数值为asc,跟orderby参数是对应的)? 
结果:?返回表tablename中满足条件where的第curpage页的page_record条记录,结果按orderby排序? 
*/? 
CREATE?PROCEDURE?proc_CommonPaging? 

@tablename?varchar(100),? 
@tablefield?varchar(20),? 
@where?varchar(5000),? 
@orderby?varchar(500),? 
@fieldlist?varchar(1000),? 
@curpage?int,? 
@page_record?int,? 
@sort?varchar(8)? 

AS? 

BEGIN? 

??DECLARE?@cmd?varchar(8000)? 
??DECLARE?@uprecord?int? 
??DECLARE?@Op?varchar(2)?--?操作符? 
??DECLARE?@max_min?varchar(4)?--?最大/最小计算? 

??SET?@op?=?'<'? 
??SET?@max_min?=?'MIN'? 
??IF?@sort?=?'asc'? 
??????BEGIN? 
????SET?@Op?=?'>'? 
????????????SET?@max_min?=?'MAX'? 
??????END? 

??SET?@uprecord=@curpage?*?@page_record? 

??IF?@curpage?=?0? 
??????SET?@cmd?=?'SELECT?TOP?'+cast(@page_record?AS?NVARCHAR)+'?'+@fieldlist+'?FROM?'+@tablename+'?WHERE?'+@where+'?'+@orderby? 
??ELSE? 
????SET?@cmd?=?'SELECT?TOP?'+cast(@page_record?AS?NVARCHAR)+'?'+@fieldlist+'?FROM?'+@tablename+'?WHERE?'+@where+'?AND?'+@tablefield+'?? 
????'+@op+'?(SELECT?'+@max_min+'('+@tablefield+')??FROM?(SELECT?TOP??'+cast(@uprecord?AS?NVARCHAR)+'?'+@tablefield+'?FROM?'+@tablename+'?WHERE?? 
????'+@where+'?'+@orderby+')?AS?TmpTbl?)?AND?'+@where+'?'+@orderby? 

??SET?@cmd?=?@cmd?+?';?SELECT?COUNT(*)?FROM?'+@tablename+'?WHERE?'+@where? 

??EXEC(@cmd)? 
??PRINT(@cmd)? 

END? 
GO?

 

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读