百科 / 错误代码 / Class 2F SQL例程异常
2F005 function_executed_no_return_statement
ERROR 源码确认 参考 未实测
- 条件名
function_executed_no_return_statement- 宏名称
ERRCODE_S_R_E_FUNCTION_EXECUTED_NO_RETURN_STATEMENT- 启用版本
- 7.4
- 状态
- 活跃
版本覆盖
速览
SQLSTATE 2F005 是 SQL Routine Exception 类别中“函数执行时缺少 RETURN”的成员。固定的 PostgreSQL 18.6 PL/pgSQL 路径区分普通函数和触发器过程的消息。
含义
确认的消息是 control reached end of function without RETURN 和 control reached end of trigger procedure without RETURN。返回要求取决于例程种类和声明的返回行为;这不是笼统的“函数返回 NULL”消息。
消息
确认的消息是 control reached end of function without RETURN 和 control reached end of trigger procedure without RETURN。返回要求取决于例程种类和声明的返回行为;这不是笼统的“函数返回 NULL”消息。
报文模板
源码里的格式串,不是某一次运行的输出。%s 之类是占位符,实际报文会填入对象名与取值。适用范围一栏是核验时留下的原始英文记录,未经翻译。
control reached end of function without RETURN
control reached end of trigger procedure without RETURN
来源:src/pl/plpgsql/src/pl_exec.c @ REL_18_6
适用范围:The same trigger template appears at more than one fixed control-flow path.
诊断
读取例程签名以及所有可能到达末尾的控制流。对于触发器过程,按触发器契约检查每个应返回触发器行或 NULL 的分支;对于返回值函数,检查每个分支是否都有兼容的 RETURN。
处理
增加所需的返回路径,并在重做操作前验证例程定义。这是例程控制流修复;只有考虑过外层操作是否已经产生可见工作后,才决定重试。
版本
锁定目录将该条件的已知下界记为 PostgreSQL 7.4;事实块列出已发布快照,源码路径状态仅限于下方固定的 PostgreSQL 18.6 资料。
来源
- 上游源码 src/backend/utils/errcodes.txt 第 289 行
- 上游源码 src/pl/plpgsql/src/pl_exec.c 第 639 行
- 核验材料 raw/calls/REL_18_6.jsonl
证据
断言
每条断言都写明了是怎么核实的,以及它不覆盖什么。这一层是核验时留下的原始英文记录,照原样呈现,未经翻译。
-
2F005 is function_executed_no_return_statement in SQLSTATE Class 2F.
-
The fixed PostgreSQL 18.6 source contains the report contexts and message variants described on the page.
-
Locked release definitions establish catalogue presence from 7.4; they do not establish a precise introducing release or runtime use.
同类错误代码
Class 2F SQL例程异常 下的其他成员。