错误:ORA-01427: 单行子查询返回多于一个行,急~~~~
select(selectt.dydjfromwgkh_mx_infotwheret.dh=dy_rb_Res.Mxbh)intodydjfromdual;...
select(select t.dydj from wgkh_mx_info t where t.dh = dy_rb_Res.Mxbh) into dydj from dual;
展开
2个回答
展开全部
你的返回值多余一行或者没有返回行的话,就不能用 into 的方式
可以用游标的方式:
declare cur_a cursor is
select(select t.dydj from wgkh_mx_info t where t.dh = dy_rb_Res.Mxbh) from dual;
begin
open cur_A;
FETCH CUR_A into dydj ;
loop
....
end loop;
close cur_a;
....
end
也可以取max的方式
select(select max(t.dydj) from wgkh_mx_info t where t.dh = dy_rb_Res.Mxbh) into dydj from dual;
可以用游标的方式:
declare cur_a cursor is
select(select t.dydj from wgkh_mx_info t where t.dh = dy_rb_Res.Mxbh) from dual;
begin
open cur_A;
FETCH CUR_A into dydj ;
loop
....
end loop;
close cur_a;
....
end
也可以取max的方式
select(select max(t.dydj) from wgkh_mx_info t where t.dh = dy_rb_Res.Mxbh) into dydj from dual;
追问
select(select t.dydj from wgkh_mx_info t where t.dh = dy_rb_Res.Mxbh) from dual;
为什么这样就报错呢?
追答
select(select t.dydj from wgkh_mx_info t where t.dh = dy_rb_Res.Mxbh) from dual;
这样应该不会报错吧?(好像在存储过程中不行,返回的值如何处理呢?)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询