我了解到savepoint
SQL中的Oracle
标识了事务中的一个点,以后您可以rollback
到达该点。
从技术上讲,如果我现在创建一个savepoint
并在数据库上执行100次操作,那么我可以rollback
到这100次操作之前。
但是如果现在我不想跟踪更改并删除保存点怎么办?
谢谢
答案 0 :(得分:2)
a_horse_with_no_name评论说,Oracle中没有删除保存点的语法。
COMMIT
或ROLLBACK
事务时,保存点将自动删除。
来自the Oracle docs on Transaction Control:
COMMIT
语句结束当前事务,并使该事务中执行的所有更改永久生效。COMMIT
还会清除交易中的所有保存点并释放交易锁。
ROLLBACK
语句可逆转当前事务中完成的工作;它会导致丢弃自最后一个COMMIT
或ROLLBACK
起的所有数据更改。
您可能还希望修改代码以不创建保存点。
答案 1 :(得分:-1)
提交(或回滚),然后从代码中删除保存点。