我正试图搞清楚甲骨文的交易,但我得到了一些令人困惑的信息。
我习惯于使用DBMS,在DBMS中,您可以使用以下内容创建事务:
-- do something
START TRANSACTION;
-- do things
-- do more things
COMMIT;
如果出现错误,则事务将回滚。但是在事务提交之前会发生什么。
如果我只是想测试的东西,我应该能够做到这一点:
-- do something
START TRANSACTION;
-- do things
-- do more things
ROLLBACK;
只有第一部分应该被执行。
我读到Oracle没有特定的START TRANSACTION
语句。在这种情况下,我如何控制提交的内容和回滚的内容?
1条答案
按热度按时间wwtsj6pe1#
您可以使用
SAVEPOINT
:这将:
1.隐式地开始事务;
1.做第一件事
1.创建一个保存点,然后执行第二项操作,然后回滚到保存点,恢复第二项操作所做的更改(在保存点之前保留第一项操作的更改);和/或
1.执行第三件事并提交事务(包含第一件和第三件事的更改)。