**纯SQL** begin tran insert into B(guid,field1,field2) values('userId','1','2') if @@error 0 begin rollback tran return end --一般用1跟0作为true跟false,类型用bit update A set flag = 1 where guid = 'userId' if @@error 0 begin rollback tran return end commit tran 最好还是用后端代码处理业务逻辑,流程上是一样的,开启事务-新增B表-是否回滚-更新A表-是否回滚-提交事务