PL/SQL developer使用时出现ORA-01422报错,获得返回数据超过可输出记录
ORA-01422: exact fetch returns more than requested number of rows
·
declare
i_name DATA.ITEM_ID%TYPE;
i_content DATA.ITEM_DESC%TYPE;
begin
select ITEM_ID, ITEM_DESC //此行出错
into i_name,i_content
from DATA
where DATA.ITEM_SEQUENCE=8;
dbms_output.put_line('检查名称:'||i_name||',检查具体内容'||i_content);
end;
ORA-01422: exact fetch returns more than requested number of rows
ORA-06512: at line 5
ORA-01422: exact fetch returns more than requested number of rows
这个错误的原因一般是查询到的数据大于一条导致的,不要用肉眼去查看查询条件是否唯一,调用相应的查询语句。
select * from DATA t WHERE t.ITEM_SEQUENCE=8
执行查询后,查看表中记录是否为一条。
另一种可能是建表时错误地给变量名加上了 ‘’(单引号)或者 “”(双引号),在查询时需要同时将相应的列名和表名加上对应的 ‘’(单引号)或者 “”(双引号),也可以编辑表,将其字段名还原成大写字母,更新后再次查询则错误不再触发。

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)