单条数据库记录插入失败是否需要回滚?
Is a rollback necessary when insert of a single database record fails?
我对数据库事务不太熟悉。我想知道将单个记录插入数据库的情况。是否需要交易。如果是这样,如果插入一条记录失败,是否需要回滚?
我问的这个问题与 JDBC 有关,但可以是一般数据库意义上的。
来自文档:
-
Statement-Level Rollback
If at any time during execution a SQL statement causes an error, all effects of the statement are rolled back. The effect of the rollback is as if that statement had never been run. This operation is a statement-level rollback.
-
Statement-Level Atomicity
Oracle Database supports statement-level atomicity, which means that a SQL statement is an atomic unit of work and either completely succeeds or completely fails.
因此,如果您只执行了唯一的插入语句并且它失败了,则不需要回滚。
我对数据库事务不太熟悉。我想知道将单个记录插入数据库的情况。是否需要交易。如果是这样,如果插入一条记录失败,是否需要回滚?
我问的这个问题与 JDBC 有关,但可以是一般数据库意义上的。
来自文档:
-
Statement-Level Rollback If at any time during execution a SQL statement causes an error, all effects of the statement are rolled back. The effect of the rollback is as if that statement had never been run. This operation is a statement-level rollback.
-
Statement-Level Atomicity Oracle Database supports statement-level atomicity, which means that a SQL statement is an atomic unit of work and either completely succeeds or completely fails.
因此,如果您只执行了唯一的插入语句并且它失败了,则不需要回滚。