【问题标题】:Is a rollback necessary when insert of a single database record fails?插入单个数据库记录失败时是否需要回滚?
【发布时间】:2021-08-09 19:08:03
【问题描述】:

我对数据库事务不太熟悉。我想知道将单个记录插入数据库的情况。是否需要交易。如果是这样,如果插入一条记录失败,是否需要回滚?

我问的是与 JDBC 相关的问题,但它可以是一般数据库意义上的。

【问题讨论】:

标签: java sql oracle jdbc


【解决方案1】:

来自文档:

  1. Statement-Level Rollback

    语句级回滚 如果在执行期间的任何时候 SQL 语句导致错误,则该语句的所有影响都将回滚。回滚的效果就好像该语句从未运行过。此操作是语句级回滚。

  2. Statement-Level Atomicity

    语句级原子性 Oracle 数据库支持语句级原子性,这意味着 SQL 语句是一个原子工作单元,要么完全成功,要么完全失败。

所以,如果你只执行了唯一的插入语句并且它失败了,你不需要回滚。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-15
    • 2016-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多