事务回滚与删除记录

时间:2020-03-24 05:56:18

标签: sql sql-server sqltransaction

在后续请求失败时寻找有关使用事务或删除查询的一些见解。简而言之,在我的应用程序中,我将通过调用两个存储过程插入两个表中,并且插入的数据将被上载到两个REST API中。如果任何REST API失败,我必须回滚输入数据库的详细信息。

那么哪种方法合适?使用SQL事务或通过数据库过程删除插入的记录。

1 个答案:

答案 0 :(得分:1)

这是使用交易的理想情况。你怎么知道的?
假设您先插入一些行,然后执行API调用,然后尝试删除插入的行。在这种情况下会发生什么?

  1. 已插入的行已经可读(即使未启用脏读)-它们只是数据库中的普通行。因此,在完成请求之前进行的所有查询也将与此行相关。
  2. 如果您无法删除行会怎样?确实,它们只会保留在数据库中。在这里,您的数据不正确。不好

使用事务处理方法-仅在完成API调用后才开始事务并提交事务,这样可以确保数据库始终包含正确的数据。