跳到主要内容
内容阅读

在知识库中专注阅读,并随时返回相关工具与课程

ORA-01422常见通用

精确提取返回的行数超过请求的行数

Exact fetch returns more than requested number of rows

错误描述

SELECT INTO 语句返回了多于一行的数据,而预期只返回一行。

可能原因

  • SELECT INTO 查询匹配到多行
  • WHERE 子句不够具体,无法保证返回单行
  • 预期唯一数据时存在重复数据

解决方案

  1. 1添加更严格的 WHERE 条件
  2. 2使用 FETCH FIRST 1 ROW ONLY 或 ROWNUM = 1
  3. 3在 PL/SQL 中使用 TOO_MANY_ROWS 异常处理
  4. 4对多行查询使用游标循环代替 SELECT INTO
#too-many-rows#plsql#select-into

同类错误码(通用)

想系统掌握这个领域?

「通用」在课程 Day 81-90 中有 10 篇完整实战教程

完整操作步骤真实截图踩坑总结
查看完整课程¥128/月起 · 解锁全部 2738+ 篇
ORA-01422: 精确提取返回的行数超过请求的行数 - 原因与解决方案 | DBA 学习之路