内容阅读
在知识库中专注阅读,并随时返回相关工具与课程
ORA-01422常见通用
精确提取返回的行数超过请求的行数
Exact fetch returns more than requested number of rows
错误描述
SELECT INTO 语句返回了多于一行的数据,而预期只返回一行。
可能原因
- SELECT INTO 查询匹配到多行
- WHERE 子句不够具体,无法保证返回单行
- 预期唯一数据时存在重复数据
解决方案
- 1添加更严格的 WHERE 条件
- 2使用 FETCH FIRST 1 ROW ONLY 或 ROWNUM = 1
- 3在 PL/SQL 中使用 TOO_MANY_ROWS 异常处理
- 4对多行查询使用游标循环代替 SELECT INTO
#too-many-rows#plsql#select-into