栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 数据库 > MySQL > MsSql

数据库分页存储过程代码

MsSql 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据库分页存储过程代码

复制代码 代码如下:
 
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 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/170897.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号