• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    数据库分页存储过程代码

    复制代码 代码如下:

    /* 
    数据库分页存储过程,支持倒序和升序 
    参数说明: 
      @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 

    上一篇:分页存储过程代码
    下一篇:SQL查询连续号码段的巧妙解法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    数据库分页存储过程代码 数据库,分页,存储,过程,