# 03000 — sql_statement_not_yet_complete

> PostgreSQL SQLSTATE 03000 表示 SQL 语句尚未完整；固定核心扫描没有解析出发射器。
---

# 03000 — sql_statement_not_yet_complete

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

`03000` 是 error 类条件，名称表示 SQL 语句尚未完整。没有解析出 18.6 核心与 contrib 报告组，因此不能指定解析器、协议或客户端来源。

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

| 字段 | 值 |
| --- | --- |
| SQLSTATE | `03000` |
| 条件名 | `sql_statement_not_yet_complete` |
| 状态 | `有效` |
| 已知存在于 | `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_SQL_STATEMENT_NOT_YET_COMPLETE` |
| 别名 | `—` |

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

## 含义 {#meaning}

定义名称表示 SQL 语句不完整。固定源码扫描没有确认是解析器、协议层还是客户端库发出。

## 消息与诊断 {#messages}

没有解析出 18.6 消息变体。应保留确切语句边界、客户端 API 或解析器、服务器/驱动版本和完整诊断。

## 诊断 {#diagnosis}

确认代码来自语句分帧或协议层，再检查该层如何判断需要更多输入。没有实际 SQLSTATE 来源时，不要从任何语法错误、多语句批次或客户端超时推断此条件。

## 处理 {#response}

按实际解析器或协议契约补完整语句，或修正发送了不完整单元的客户端分帧。重复发送同一不完整输入不能使它完整。

## 版本 {#versions}

`03000` 在锁定目录 9.0.23 至 18.6 以及 19 Beta 3 中存在，`known_present_by` 为 7.4。现有 18.6 证据确认定义，但没有解析出的发射路径。

## 相关 {#related}

[`42601`](../42601/) 是语法 error；[`08P01`](../08p01/) 涉及协议违规；[`00000`](../00000/) 是成功完成。

## 来源 {#sources}

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