ORA
-
01422
:
exact
fetch
return
s more than
request
ed
神奇的错误,困扰了我一个下午。
问题描述:明明只有一行记录,结果是报了多条记录的错误。令我百思不得其解,
检查无数遍
sql
没有问题。
解决方法:因为起的变量名字与列名一致。
selectr.stu_type_cd INTOstu_type_cdfromr.stu r where...
问题:在编写存储过程,执行的时候一直报这个错误,
ORA
-
01422
,应该是单行查询返回多个行。
解决方案:首先分析数据,有没有可能出现单行查询返回多个行的情况,对比了老半天,怎么看数据都不可能查出多行记录。最后百度了一下,发现可能是自己定义参数名称和表中的字段名称相同导致参数未传进去,进行了全表查询,所以查出了多条记录。最后修改自己定义的参数名称,问题解决。
备注:以后遇到这种问题,还是要早点...
首先要知道:select .....into 语句只能够查询一个记录的信息。 如果没有查到任何数据,会产生NO_DATA_FOUND异常; 如果查询到多个记录,则会产生TOO_MANY_
ROWS
异常。在这里很明显 “
ORA
-
01422
实际返回的行数超出请求的行数”就是第二种情况,查询到多个记录,所以就会报错,如果必须最后...
“
ORA
-
01422
: 实际返回的行数超出请求的行数”
ORA
-
01422
:
exact
fetch
return
s more than
request
ed
number
of
rows
原因是游标查询返回多条记录,而实际通过select 列明 into 变量 FROM 表A where ···插入变量的信息是单个变量,不是多条记录,故产生了如下的错误
ORA
-
01422
:
exact
fetch
return
s more than
request
ed
number
of
rows
...
在运行以下过程时,出现以下错误Error report:
ORA
-
01422
:
exact
fetch
return
s more than
request
ed
number
of
rows
ORA
-06512: at "my_db.CREATE_CTAB_FILE", line 51
ORA
-06512: at line 2
01422
. 00000 - "
exact
fetch
return
s mor...