zoukankan      html  css  js  c++  java
  • Sql server存储过程中常见游标循环用法

    用游标,和WHILE可以遍历您的查询中的每一条记录并将要求的字段传给变量进行相应的处理

    DECLARE 
    @A1 VARCHAR(10),
    @A2 VARCHAR(10),
    @A3 INT
    DECLARE YOUCURNAME CURSOR FOR SELECT A1,A2,A3 FROM YOUTABLENAME 
    OPEN YOUCURNAME 
    fetch next from youcurname into @a1,@a2,@a3 
    while @@fetch_status<>-1
     begin 
    --您要执行的操作写在这里 
    fetch next from youcurname into @a1,@a2,@a3 
    end 
    close youcurname 
    deallocate youcurname

    再加上异常捕捉和事务,完整过程如下:

    Create PROCEDURE  [dbo].[Usp_CreatePanicBuyingCode](
     @OrderNumber VARCHAR(50))
    AS  
    DECLARE 
    @A1 VARCHAR(10),
    @A2 VARCHAR(10),
    @A3 INT
      begin try  
        begin tran 
       DECLARE youcurname CURSOR  FOR SELECT A1,A2,A3 FROM YOUTABLENAME
    OPEN youcurname
    fetch next from youcurname into @a1,@a2,@a3
    while @@fetch_status<>-1
    begin
    --您要执行的操作写在这里
    fetch next from youcurname into @a1,@a2,@a3
    end
    close youcurname
    deallocate youcurname
    COMMIT TRAN  
    end try   
    begin catch   
        ROLLBACK  
    end catch  
  • 相关阅读:
    2018牛客网暑期ACM多校训练营(第九场)A -Circulant Matrix(FWT)
    ZOJ
    BZOJ 4318 OSU!(概率DP)
    POJ
    POJ
    Linux安装及管理程序
    Linux目录及文件管理
    linux账号管理操作
    linux系统命令总结
    linux目录及文件管理操作
  • 原文地址:https://www.cnblogs.com/tuyile006/p/5319117.html
Copyright © 2011-2022 走看看