Savepoint(保存点)是会“失效”或失效/不可用的,具体取决于数据库类型、操作以及环境。下面以常见的关系型数据库(Oracle / PostgreSQL / MySQL 等)来说明。
SAVEPOINT sp1;
...
COMMIT;
ROLLBACK TO sp1✅ 结论:事务结束 = Savepoint 失效
SAVEPOINT sp1;
SAVEPOINT sp2;
ROLLBACK TO sp1;
sp1 仍然有效✅ 结论:回滚到早期 Savepoint,后续 Savepoint 失效
ROLLBACK;
➡ Savepoint 随事务一起消失
CREATE / ALTER / DROP)❌ “Savepoint 会超时失效”
✅ 不会,数据库不按时间失效
❌ “Savepoint 能跨事务”
✅ 不能,只能在一个事务内
Savepoint 会失效,但只因为:事务结束、回滚、连接断开或隐式提交,而不是时间。
如果你说的是 Flink / Spark 的 Savepoint,或者某个具体数据库(Oracle / PG / MySQL),可以告诉我,我可以针对性讲。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。