我认为可以回滚。不过一般情况我是这样写的:......begin tran mytran
.....
if @@error<>0
begin
    rollback tran mytran
    return (返回值)
end
commit tran mytran
return (返回值)