Recently encountered a problem in the project, and the current affairs of updating expired data were not rolled back. The transaction configuration was carefully checked before and after, and the problem was not found. Final steps
Recently encountered a problem in the project, and the current affairs of updating expired data were not rolled back. The transaction configuration was carefully checked before and after, and the problem was not found. Final steps
Recently encountered a problem in the project, and the current affairs of updating expired data were not rolled back. The transaction configuration was carefully checked before and after, and the problem was not found. Finally, after one-step debugging, the root cause of the problem was found: the use of truncate to delete data, resulting in the transaction being committed.
1. Data can be rolled back after being deleted in Oracle because the data is stored in the undo tablespace.
2. DML = Data Manipulation Language, Data Manipulation Language, using the undo tablespace;
DDL = Data Definition Language, Data Definition Language, do not use undo tablespace.
Delete is a DML statement, truncate is a DDL statement, and DDL statements are committed implicitly. Even if the current transaction has an error, it cannot be rolled back.