34,590
社区成员
发帖
与我相关
我的任务
分享
--参考下:
begin try
begin tran
Update cy_bt_Rec_Flow
set Table_Id='123' where Table_Id='456'
Update cy_bt_Rec_Flow
set Table_Id='456' where Table_Id='123'
if @@rowcount>0
commit
end try
begin catch
select error_line() as 出错代码行号,error_message()as 错误提示信息
end catch
DECLARE @myerror INT --用于存储错误号
SET @myerror=0
begin tran --事物开始
Update cy_bt_Rec_Flow
set Table_Id='123' where Table_Id='456'
SET @myerror=@myerror+@@ERROR --如果产生错误,则将错误号累加
Update cy_bt_Rec_Flow
set Table_Id='456' where Table_Id='123'
SET @myerror=@myerror+@@ERROR --如果产生错误,则将错误号累加
if(@myerror=0)--判断是否成功
Commit tran ----事物结束
else
RollBack tran--事物轮回
这样 应该可以BEGIN TRY
BEGIN TRAN --事物开始
UPDATE cy_bt_Rec_Flow
SET Table_Id = '123'
WHERE Table_Id = '456'
UPDATE cy_bt_Rec_Flow
SET Table_Id = '456'
WHERE Table_Id = '123'
COMMIT TRAN ----事物结束
END TRY
BEGIN CATCH
ROLLBACK TRAN--事物轮回
END CATCH