begin tran begin try insert into dept(id,name_dept) values(1,'部门1')insert into dept(name_dept) values('部门2') -- id不能为空 insert into dept(id,name_dept) values(3,'部门3') commit end try begin catch rollback end catch
begin try begin traninsert into dept(id,name_dept) values(1,'部门1') insert into dept(name_dept) values('部门2') -- id不能为空 insert into dept(id,name_dept) values(3,'部门3')commit tran end try begin catch rollback tran print 'Error Message: '+ERROR_MESSAGE() print ERROR_LINE() print Error_Number() end catch
begin try
insert into dept(id,name_dept) values(1,'部门1')insert into dept(name_dept) values('部门2') -- id不能为空
insert into dept(id,name_dept) values(3,'部门3')
commit
end try
begin catch
rollback
end catch
begin traninsert into dept(id,name_dept) values(1,'部门1')
insert into dept(name_dept) values('部门2') -- id不能为空
insert into dept(id,name_dept) values(3,'部门3')commit tran
end try
begin catch
rollback tran print 'Error Message: '+ERROR_MESSAGE()
print ERROR_LINE()
print Error_Number()
end catch
貌似不对啊和不加的效果一样2000不知道有没有XACT_ABORT,如果加了,一旦出错会整个事务回滚
IF @@Trancount>0
ROLLBACK TRANSACTION