存储过程使用回滚

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

 


CREATE PROCEDURE [dbo].[cunchuguocheng]

AS 
declare @num int---------变量----------------------
declare @rows int----------循环次数-----------------
declare @flag int-------标记操作是否成功:0是失败,1是成功-------
create table #prolist(
 id int identity(1,1),---自动增长
 proindex nvarchar(50)-----自定义临时表字段
)

BEGIN  
select @num=1
insert #temp select distinct 字段1 from  表1 where 条件

select @rows=@@rowcount
BEGIN   TRAN----------------------添加回滚机制----------------------------------------

while @num<=@rows
begin

--------------要循环的内容开始------------------

 select @num=@num+1

--------------要循环的内容结束-------------------
end
if @@error<>0------------------------判断是否有错误出现如果有则回滚,如果没有则提交---------------------------------------
 begin
  rollback tran-------------------出现错误开始回滚---------------------------

  select @flag=0 end
else
 begin
  COMMIT   TRAN----------------------提交事务------------------------------
  select @flag=1
 end
select @flag as flag
END

转载于:https://www.cnblogs.com/ImNo1/p/4619188.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值