事务回滚 VS 删除记录
Transaction rollback VS Delete Records
寻找有关在后续请求失败时使用事务或删除查询的一些见解。简而言之,在我的应用程序中,我通过调用两个存储过程将数据插入到两个表中,插入的数据将上传到两个 REST API 中。如果 REST API 中的任何一个失败,我必须回滚输入数据库的详细信息。
那么哪种方法合适呢?使用 SQL 事务或通过数据库过程删除插入的记录。
这是使用事务的理想情况。你怎么知道的?
假设您插入了一些行,然后执行 API 调用,然后尝试删除插入的行。在那种情况下会发生什么?
- 插入的行已经是可读的(即使没有启用脏读)——它们只是数据库中的普通行。因此,在您完成请求之前所做的所有查询也将与此行相关。
- 删除行失败会怎样?确切地说,他们只会留在数据库中。这里有不正确的数据。不好。
使用事务方法 - 启动事务并仅在完成 API 调用后才提交它,这样您将确保您的数据库始终包含正确的数据.
寻找有关在后续请求失败时使用事务或删除查询的一些见解。简而言之,在我的应用程序中,我通过调用两个存储过程将数据插入到两个表中,插入的数据将上传到两个 REST API 中。如果 REST API 中的任何一个失败,我必须回滚输入数据库的详细信息。
那么哪种方法合适呢?使用 SQL 事务或通过数据库过程删除插入的记录。
这是使用事务的理想情况。你怎么知道的?
假设您插入了一些行,然后执行 API 调用,然后尝试删除插入的行。在那种情况下会发生什么?
- 插入的行已经是可读的(即使没有启用脏读)——它们只是数据库中的普通行。因此,在您完成请求之前所做的所有查询也将与此行相关。
- 删除行失败会怎样?确切地说,他们只会留在数据库中。这里有不正确的数据。不好。
使用事务方法 - 启动事务并仅在完成 API 调用后才提交它,这样您将确保您的数据库始终包含正确的数据.