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 

执行查询后,查看表中记录是否为一条。

另一种可能是建表时错误地给变量名加上了  ‘’(单引号)或者  “”(双引号),在查询时需要同时将相应的列名和表名加上对应的  ‘’(单引号)或者  “”(双引号),也可以编辑表,将其字段名还原成大写字母,更新后再次查询则错误不再触发。

Logo

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

更多推荐