PL/SQL developer使用时出现ORA-01422报错,获得返回数据超过可输出记录

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 

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

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值