关于SQL的事务回滚
时间:2011-11-05
来源:互联网
创建一个存储过程,该过程里使用了其它两个存储过程,其中每个存储过程都要在插入数据之前,都要申请一个主PK,
如果在外面加上
begin tran t1
exec A ---存储过程A申请主PK
exec B
begin try ---给个陷阱
select 1/0
end try
BEGIN CATCH
ROLLBACK tran t1 --回滚事务
return ---返回
end cath
commit tran t1
上面中希望存储过程A完成主PK的申请,但不要回滚.但其它插入的数据可能被回滚过去,因为一但回滚了,其它端口发生主PK申请时,可能会发生PK冲突.
不知该怎么做?
如果在外面加上
begin tran t1
exec A ---存储过程A申请主PK
exec B
begin try ---给个陷阱
select 1/0
end try
BEGIN CATCH
ROLLBACK tran t1 --回滚事务
return ---返回
end cath
commit tran t1
上面中希望存储过程A完成主PK的申请,但不要回滚.但其它插入的数据可能被回滚过去,因为一但回滚了,其它端口发生主PK申请时,可能会发生PK冲突.
不知该怎么做?
作者: scorpion001 发布时间: 2011-11-05
为什么不用自动增长的?
作者: patrickkong 发布时间: 2011-11-05
为什么不用自动增长的?
作者: patrickkong 发布时间: 2011-11-05
为什么不用自动增长的?
作者: patrickkong 发布时间: 2011-11-05
用自动增长的
作者: wsliang2006 发布时间: 2011-11-05
这样用事务
SQL code
SQL code
/*********************************************************************************** 整理人:中国风(Roy) ************************************************************************************/ use test go create table t (ID int) --drop view test create view vFaulted as SELECT ERROR_NUMBER() AS ErrorNumber, ERROR_SEVERITY() AS ErrorSeverity, ERROR_STATE() AS ErrorState, ERROR_PROCEDURE() AS ErrorProcedure, ERROR_LINE() AS ErrorLine, ERROR_MESSAGE() AS ErrorMessage; go begin try begin tran insert T values(1) insert T values('a') commit tran end try begin catch select * from test rollback tran end catch go begin tran begin try insert T values(1) insert T values('a') end try begin catch select * from test if @@trancount>0 rollback tran end catch if @@trancount>0 commit tran go set xact_abort on ; begin try begin tran insert T values(1) insert T values('a') commit tran end try begin catch select * from test if (xact_state())=-1 rollback tran if (xact_state())=1 commit tran end catch go select * from T
作者: roy_88 发布时间: 2011-11-05
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28