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

  • 相关阅读:
    设计模式的分类
    设计模式工厂方法模式
    设计模式的定义
    帕斯卡命名法
    C#编写程序找一找一个二维数组中的鞍点(即该位置上的元素值在行中最大,在该 列上最小。有可能数组没有鞍点)。要求:1.二维数组的大小、数组元素的值在运行时输入;2.程序有友好的提示信息。
    设计模式抽象工厂模式
    设计模式七大原则
    理解C#中的接口
    Linux下如何查看CPU信息, 包括位数和多核信息
    关于结构体内存对齐
  • 原文地址:https://www.cnblogs.com/wantingqiang/p/1206646.html
Copyright © 2011-2022 走看看