zoukankan      html  css  js  c++  java
  • sql 循环语句几种方式

    --第一

    declare @orderNum varchar(255)

    create table #ttableName(id int identity(1,1),Orders varchar(255))

    declare @n int,@rows int

    insert #ttableName(orders) select orderNum from pe_Orders where orderId<50

    --select @rows=count(1) from pe_Orders

    select @rows =@@rowcount 

    set @n=1 

    while @n<=@rows

    begin

    select @orderNum=OrderNum from PE_Orders where OrderNum=(select Orders from #ttableName where id=@n)

    print (@OrderNum)

    select @n=@n+1

    end

    drop table #ttableName

    --第二

    declare @orderN varchar(50)--临时变量,用来保存游标值

    declare y_curr cursor for --申明游标 为orderNum

    select orderNum from pe_Orders where orderId<50

    open y_curr --打开游标

    fetch next from Y_curr into @orderN ----开始循环游标变量

    while(@@fetch_status=0)---返回被 FETCH  语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。

    begin

    print (@orderN)

    update pe_Orders set Functionary+@orderN where orderNum=@orderN --操作数据库

    fetch next from y_curr into @orderN --开始循环游标变量

    end

    close y_curr--关闭游标

    deallocate y_curr --释放游标

    --第三

    select orderNum,userName,MoneyTotal into #t from pe_Orders po 

    DECLARE @n int,@error int

    --set @n=1 

    set @error=0

    BEGIN TRAN --申明事务

    declare @orderN varchar(50),@userN varchar(50) --临时变量,用来保存游标值

    declare y_curr cursor for  --申明游标 为orderNum,userName

    select orderNum,userName from PE_Orders where Orderid<50

    open y_curr

    fetch next from y_curr into @orderN,@userN

    while @@fetch_status = 0

    BEGIN

    select isnull(sum(MoneyTotal),0),orderNum from #t where username=@userN

    -- set @n=@n+1

    set @error=@error+@@error--记录每次运行sql后 是否正确  0正确

    fetch next from y_curr into @orderN,@userN

    END

    IF @error=0

    BEGIN

    commit tran --提交

    END

    ELSE

    BEGIN

    ROLLBACK TRAN --回滚

    END

    close y_curr

    deallocate y_curr

    DROP TABLE #t

  • 相关阅读:
    Angular基础(三) TypeScript
    Angular基础(二) 组件的使用
    Angular 2基础(一) 环境搭建
    Web API 方法的返回类型、格式器、过滤器
    WebAPI路由、参数绑定
    《ASP.NET MVC企业实战》(三)MVC开发前奏
    《ASP.NET MVC企业实战》(二) MVC开发前奏
    《ASP.NET MVC企业实战》(一) MVC开发前奏
    《Inside C#》笔记(完) 程序集
    巨杉数据库助力民生银行、广发银行前台智慧化业务
  • 原文地址:https://www.cnblogs.com/ajunForNet/p/3715651.html
Copyright © 2011-2022 走看看