欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

ora-01427 单行子查询回来多个行

更新时间: 2014-01-05 02:16:46 责任编辑: Author_N1

 

ORA-01427 单行子查询返回多个行
oracle数据库中想用一张表的一列值替换另一张表的一列值,但是报了文章标题上的异常,SQL如下:
update flow02.usr_user a set a.user_mobile3 = (select b.usercode from usruser b where a.user_email=b.useremail) 
where exists (select null from usruser where a.user_email=usruser.useremail)
,求解决,很急!
--参考方法--
select b.usercode from usruser b where a.user_email=b.useremail

你的这个语句返回了2条或以上的结果 
--参考方法--
引用:
select b.usercode from usruser b where a.user_email=b.useremail

你的这个语句返回了2条或以上的结果

可以想一下再加个什么条件能够是匹配的结果只有一条,如果无法保证返回的结果只有一条,那么就后面再加个条件 rownum <=1;
--参考方法--
应该用主键列来限制
--参考方法--
查询语句结果集为2行或2行以上,所以报错。你需要重新根据你的业务需求修改查询语句
--参考方法--
谢谢大家的帮忙,问题已经解决了
update flow02.usr_user a set a.user_mobile3 = (select b.usercode from usruser b where a.user_email=b.useremail and rownum=1) 
where exists (select null from usruser where a.user_email=usruser.useremail)

加了标红的那一句and rownum=1
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:16:46
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/7928/
本文WWW.DOC100.NET DOC100.NET版权所有。