# 02001 — no_additional_dynamic_result_sets_returned

> PostgreSQL SQLSTATE 02001 表示没有额外动态结果集；固定核心扫描没有找到发射路径。
---

# 02001 — no_additional_dynamic_result_sets_returned

## 速览 {#at-a-glance}

`02001` 是关于额外动态结果集的无数据类条件，不是普通查询无行。没有解析出 18.6 核心与 contrib 报告组。

<!-- BEGIN SQLSTATE FACTS: generated by scripts/generate.py; do not edit -->

| 字段 | 值 |
| --- | --- |
| SQLSTATE | `02001` |
| 条件名 | `no_additional_dynamic_result_sets_returned` |
| 状态 | `有效` |
| 已知存在于 | `7.4` |
| 锁定快照 | `9.0.23, 9.1.24, 9.2.24, 9.3.25, 9.4.26, 9.5.25, 9.6.24, 10.23, 11.22, 12.22, 13.23, 14.24, 15.19, 16.15, 17.11, 18.6, 19beta3` |
| 宏 | `ERRCODE_NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED` |
| 别名 | `—` |

<!-- source facts: data/errcodes/02001.json -->
<!-- END SQLSTATE FACTS -->

## 含义 {#meaning}

定义名称表示额外动态结果集已经耗尽，但固定源码扫描没有确认实现路径。

## 消息与诊断 {#messages}

没有解析出 18.6 消息变体。应保留产生它的过程/接口、结果集位置、客户端 API 和完整诊断。

## 诊断 {#diagnosis}

定位产生该代码的动态结果集契约，并确认调用方是否确实请求了下一个结果集。不要用普通行数检查或 PL/pgSQL `NO_DATA_FOUND` 处理替代它。

## 处理 {#response}

按实际接口处理结果集序列结束，或修正调用方期待的数量。不变的事务重试不会产生另一个结果集。

## 版本 {#versions}

`02001` 在锁定目录 9.0.23 至 18.6 以及 19 Beta 3 中存在，`known_present_by` 为 7.4。对固定 18.6 扫描而言，这只是定义证据。

## 相关 {#related}

[`0100C`](../0100c/) 涉及动态结果集返回；[`P0002`](../p0002/) 是 PL/pgSQL no-data-found；[`02000`](../02000/) 是一般无数据条件。

## 来源 {#sources}

- [`errcodes.txt`](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/errcodes.txt#L97) — 定义，SHA-256 `6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba`.
- [结构化证据](../../data/evidence/02001.json) — 固定来源、消息和运行边界。
