zoukankan      html  css  js  c++  java
  • 用sql语句查询从N条到M条的记录



    //说明:下面的代码是我转一位高手的,希望对大家能有所收或。。
    //再声明一下:如果表名与字段名在整个过程中不再变化,则可以用以下模式:
    //=================================
    @tableName as varchar(20)='leaveWord',--表名
    @fieldList as varchar(1000)='*',--字段列表
    @startIndex as varchar(10),--开始
    @endIndex as varchar(10)--结束

    ==================================//

    CREATE PROCEDURE p_GetBetweenData
    @tableName as varchar(20),--表名
    @fieldList as varchar(1000),--字段列表
    @startIndex as varchar(10),--开始
    @endIndex as varchar(10)--结束
    AS
    Declare @strSql as Varchar(4000) --定义sql字符串

    --将原表数据复制到临时表
    begin
     set @strSql='SELECT TOP '+@endIndex+' * INTO tempTB FROM '+@tableName
     --print @strSql
     exec(@strSql)
    end

    --修改临时表结构
    begin
      ALTER TABLE tempTB ADD _ID int IDENTITY
    end

    --查询出指定的记录,这里要注意一下,如果原表中有_id这个字段(无论大小与)下面的那个_ID字段名都要改一改
    begin
     set @strSql='SELECT '+ @fieldList + ' FROM tempTB WHERE _ID>='+@startIndex+' and _ID<='+@endIndex
     --print @strSql
     exec(@strSql )
    end

    --删除临时表
    begin
     drop table tempTB
    end

    GO

    //下面这种方法。。也可以。。只是在对临时表进行操作时有点不一样。。
     

    CREATE PROCEDURE p_GetBetweenData
    @tableName as varchar(20),--表名
    @fieldList as varchar(1000),--字段列表
    @startIndex as varchar(10),--开始
    @endIndex as varchar(10)--结束
    AS
    Declare @strSql as Varchar(4000) --定义sql字符串

    --将原表数据复制到临时表
    begin

     set @strSql='SELECT TOP '+@endIndex+' 0 AS _ID,* INTO tempTB FROM '+@tableName
     --print @strSql
     exec(@strSql)
    end

    --更新列编号,这里要注意一下,如果原表中有_id这个字段(无论大小与)下面的那个_ID字段名都要改一改

    begin
    Declare @i int
    set @i=0
    update tempTB set @i=@i+1,_ID=@i
    end

    --查询出指定的记录
    begin
     set @strSql='SELECT '+ @fieldList + ' FROM tempTB WHERE _ID>='+@startIndex+' and _ID<='+@endIndex
     --print @strSql
     exec(@strSql )
    end

    --删除临时表
    --begin
     --drop table tempTB
    --end

    GO

  • 相关阅读:
    会计基础第二次模拟题(4)
    会计基础第二次模拟题(3)
    会计基础第二次模拟题(2)
    如何使用印象笔记进行更好的学习呢?
    怎么安装WinXP和Win7双系统
    清理和关闭多余的Windows 7系统服务
    Foxmail邮箱最新应用指南二
    Windows 系统提示“内存不足”的原因及解决方法
    会计基础第二次模拟试题(1)
    关于后端程序开发如何评估工作量的方法
  • 原文地址:https://www.cnblogs.com/wantingqiang/p/1206646.html
Copyright © 2011-2022 走看看