zoukankan      html  css  js  c++  java
  • 存储过程表的循环

    存储过程表的循环  

    以下以SQL Server 2000中的NorthWind数据库中的Customers表为例,

    用 临时表 + While循环 的方法, 对Customers表中的CompanyName列进行遍历

    create table #temp

    (

      id int identity(1,1),

      customer nvarchar(50)

    )

    declare @customer nvarchar(50)

    declare @n        int

    declare @rows     int

    select @n=1

    insert #temp(customer) select distinct companyname from customers

    select @rows = @@rowcount

     

    while @n <= @rows

    begin

    select @customer = companyname

    from customers

         where companyname=(select customer from #temp where id = @n)

    order by companyname desc

     

    print(@customer)

     

    select @n = @n + 1

     

    end

    运行后, 输出结果如下:

    (所影响的行数为 91 行)

     

    Alfreds Futterkiste

    Ana Trujillo Emparedados y helados

    Antonio Moreno Taquería

    Around the Horn

    Berglunds snabbk?p

    Blauer See Delikatessen

    Blondesddsl père et fils

    Bólido Comidas preparadas

    Bon app'

    Bottom-Dollar Markets

    B's Beverages

    Cactus Comidas para llevar

    Centro comercial Moctezuma

    Chop-suey Chinese

    Comércio Mineiro

    Consolidated Holdings

    Die Wandernde Kuh

    Drachenblut Delikatessen

    Du monde entier

    Eastern Connection

    Ernst Handel

    Familia Arquibaldo

    FISSA Fabrica Inter. Salchichas S.A.

    Folies gourmandes

    Folk och f? HB

    France restauration

    Franchi S.p.A.

    Frankenversand

    Furia Bacalhau e Frutos do Mar

    Galería del gastrónomo

    Godos Cocina Típica

    Gourmet Lanchonetes

    Great Lakes Food Market

    GROSELLA-Restaurante

    ...... (以下略) ..................................

     

     

    SQL查询遍历数据方法二 [ 游标 + While循环] 以下以SQL Server 2000中的NorthWind数据库中的Customers表为例,

     

    用  游标(Cursor) + While循环 的方法, 对Customers表中的CompanyName列进行遍历

     

     

    declare @customer nvarchar(50)

     

     

    declare pcurr cursor for

    select distinct companyname from customers

     

    open pcurr

    fetch next from pcurr into @customer

     

     

    while (@@fetch_status = 0)

    begin

     

     

     print (@customer)

     fetch next from pcurr into @customer

     

     

    end

     

    close pcurr

    deallocate pcurr

     

     

     

    运行后, 输出结果如下:

     

     

    (所影响的行数为 91 行)

     

    Alfreds Futterkiste

    Ana Trujillo Emparedados y helados

    Antonio Moreno Taquería

    Around the Horn

    Berglunds snabbk?p

    Blauer See Delikatessen

    Blondesddsl père et fils

    Bólido Comidas preparadas

    Bon app'

    Bottom-Dollar Markets

    B's Beverages

    Cactus Comidas para llevar

    Centro comercial Moctezuma

    Chop-suey Chinese

    Comércio Mineiro

    Consolidated Holdings

    Die Wandernde Kuh

    Drachenblut Delikatessen

    Du monde entier

    Eastern Connection

    Ernst Handel

    Familia Arquibaldo

    FISSA Fabrica Inter. Salchichas S.A.

    Folies gourmandes

    Folk och f? HB

    France restauration

    Franchi S.p.A.

    Frankenversand

    Furia Bacalhau e Frutos do Mar

    Galería del gastrónomo

    Godos Cocina Típica

    Gourmet Lanchonetes

    Great Lakes Food Market

    GROSELLA-Restaurante

    ...... (以下略) ..................................

  • 相关阅读:
    简练网软考知识点整理-易混概念项目绩效评估与团队绩效评价
    简练软考知识点整理-项目索赔管理
    项目管理工作执行数据和信息流向的一致性
    简练软考知识点整理-确认范围和质量控制
    简练软考知识点整理-项目全面质量管理TQM
    简练网软考知识点整理-项目整体绩效测量基准
    RAID 技术全解
    Centos 7 查看内存占用情况相关命令
    使用xshell连不上ubuntu14.04
    Shell脚本
  • 原文地址:https://www.cnblogs.com/mili3/p/3396781.html
Copyright © 2011-2022 走看看