在事务中使用提交是否足够?
|
在ѭ1中足够使用
Commit
,否则我也应使用rollback
。
tabel1
name nvarchar(10)
family nvarchar(20)
table 2
name nvarchar(10)
family nvarchar(20) not null
begin transaction
insert into table2 (name) values(\'john\')
insert into table1 (name,family) values(\'Joe\',\'Lando\')
commit transaction
如您所见,第一条语句有错误。我应该在某处使用回滚吗?
没有找到相关结果
已邀请:
2 个回复
焙恍挝厂熄
从链接: 当SET XACT_ABORT为ON时,如果Transact-SQL语句引发运行时错误,则整个事务将终止并回滚。 现在,如果您不使用它,则需要回滚。或关闭您的连接。 SET XACT_ABORT ON的一个有用的副作用是,在客户端CommandTimeout事件之后,将释放锁,并回滚事务。否则,直到从SQL Server硬删除该连接后,该连接才会发生:由于池化,该连接可以保持打开状态。 您的圣经应该是Erland Sommarskog撰写的“ SQL 2000中的错误处理–背景”:请阅读。如此一来:我真的需要使用“ SET XACT_ABORT ON”吗?
吠强祷豪硅