zoukankan      html  css  js  c++  java
  • SQL存储过程,使用事务(try catch),游标

    CREATE proc [dbo].[Sys_Rebate_Equity]
           
    AS
    declare @fMemberID varchar(50)--用户ID
    declare @Rebate decimal(18,2)--总股权数
       
    
    BEGIN
        begin try
         Begin Transaction    --开始事务
            DECLARE  cursor1 CURSOR for        --定义游标cursor1
            select fMemberID,sum(fNumber) as 'fNumber' from BP_Equity where fNumber>0 group by fMemberID    --使用游标的对象
             open cursor1         --打开游标
             fetch next from cursor1 into @fMemberID,@Rebate    --将游标向下移1行,获取的数据放入之前定义的变量@fMemberID,@Rebate中
             while @@FETCH_STATUS=0    --判断是否成功获取数据
                 begin
                    select 1    --进行相应处理
                    fetch next from cursor1 into @id    --将游标向下移1行
                end
            close cursor1    --关闭游标
            deallocate cursor1 --删除游标引用
            select 888
         Commit Transaction    --提交事务
        End Try
        Begin Catch
            if @@trancount > 0 ROLLBACK TRANSACTION --回滚事务
            Select 8888        
        End Catch
        
    END
  • 相关阅读:
    Hard 随机洗牌函数 @CareerCup
    Hard 随机选择subset @CareerCup
    Hard 计算0到n之间2的个数 @CareerCup
    Django admin进阶
    hdu 5630 Rikka with Chess
    PHP 表单验证
    PHP 表单验证
    PHP 表单验证
    PHP 表单验证
    PHP 表单处理
  • 原文地址:https://www.cnblogs.com/zengxiangjian/p/5341506.html
Copyright © 2011-2022 走看看