百科 / SQL 状态码 / Class 3B 保存点异常
3B000 savepoint_exception
保存点异常
ERROR 仅定义 参考 未实测
- 条件名
savepoint_exception- 宏名称
ERRCODE_SAVEPOINT_EXCEPTION- 最早已知存在
- 8.0.0
- 状态
- 有效
手册收录:8.1、8.2、8.3、8.4、9.0、9.1、9.2、9.3、9.4、9.5、9.6、10、11、12、13、14、15、16、17、18、19、20。此处仅表示同版本手册收录,运行证据仍以原核验构建为准。
版本覆盖
版本条依据已采样构建显示;灰色版本可能尚未采样,悬停可查看。手册链接随版本选择,源码和运行证据保持原核验构建。
3B000 — savepoint_exception(保存点异常)
速览 {#at-a-glance}
3B000 是保存点异常类别的定义。固定核心调用扫描解析到的是更具体的缺失保存点路径 3B001,没有独立的通用 3B000 抛出点。诊断保存点失败时应使用服务器实际给出的具体 SQLSTATE;本页不编造类别级 RAISE 案例。
含义 {#meaning}
3B000 是 3B 类的保存点异常条件。固定扫描解析到具体的缺失保存点码 3B001,没有独立的通用类码核心抛出点。因此服务器给出具体码时,应按 3B001 诊断找不到的保存点名称。
诊断 {#diagnosis}
保存请求的保存点名称、是否存在显式事务,以及标记是否已释放或属于另一层嵌套。先读取服务器给出的具体 SQLSTATE:没有事务块时 ROLLBACK TO SAVEPOINT 是 25P01;显式块中缺少标记,在选定源码中由 3B001 表示。本页没有独立的自然运行案例。
处理 {#response}
按具体错误选择边界:先开启事务再创建保存点;显式事务失败后先回滚,再建立新标记。不要伪造 3B000 的重试或使用 CASCADE;本页保持定义边界,缺失名称请看有源码依据的 3B001 路径。
版本 {#versions}
上面的锁定事实表记录项目快照范围内的目录存在情况。固定源码证据只覆盖下面声明的路径;不能仅从定义推导精确行为引入版本或更广的运行覆盖。
相关 {#related}
具体的缺失保存点路径见3B001 保存点说明无效。
来源 {#sources}
src.errcodes.18.6(SHA-2566e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba)- 固定调用扫描
src.calls.REL_18_6(SHA-2569ee8a0e81d8f0825c5c1ae45583439859a26e602bdd4ce2f2a62aa278867ccbf)
来源
证据
断言
每条断言都写明了是怎么核实的,以及它不覆盖什么。这一层是核验时留下的原始英文记录,照原样呈现,未经翻译。
-
3B000 is the savepoint_exception condition in Class 3B.
-
No distinct safe natural core runtime case for 3B000 was selected from the fixed call scan.
可复现案例
在一次性实例上执行过的场景。
savepoint_exception_boundary PG 10 / 18
前置条件
- A runner-owned disposable target is provisioned.
触发
No generic 3B000 trigger is executed; the specific invalid-savepoint path is covered by 3B001.
处置
Use the specific savepoint condition and transaction boundary supplied by the server; do not manufacture a class-level RAISE.
清理
Drop the case schema with an owner connection.
同类 SQL 状态码
| 状态码 | 条件名 | 宏名称 | 严重等级 | 版本 |
|---|---|---|---|---|
| 3B000 | savepoint_exception | ERRCODE_SAVEPOINT_EXCEPTION |
ERROR | 8.0.0 起已知 |
| 保存点异常的类别码,具体失败见 3B001。 | 有效 | |||
| 3B001 | invalid_savepoint_specification | ERRCODE_S_E_INVALID_SPECIFICATION |
ERROR | 8.0.0 起已知 |
| 引用了当前事务中不存在的保存点。 | 有效 | |||