关于ORA-01427 single-row subquery returns more than one row 的疑问

[复制链接]
查看11 | 回复7 | 2008-8-3 14:47:20 | 显示全部楼层 |阅读模式
为什么在出现ORA-01427 single-row subquery returns more than one row 的SQL上SELECT COUNT(*) 不报错了,还能查出正确的记录数
回复

使用道具 举报

千问 | 2008-8-3 14:47:20 | 显示全部楼层
这个只有在你做DML操作时才会报错。
回复

使用道具 举报

千问 | 2008-8-3 14:47:20 | 显示全部楼层
因为你查询的时候返回了多个值,所以赋值的时候出错了。但是当用count(*)返回的只是一个值,所以不会报错了
回复

使用道具 举报

千问 | 2008-8-3 14:47:20 | 显示全部楼层
学习了一下
回复

使用道具 举报

千问 | 2008-8-3 14:47:20 | 显示全部楼层
估计你是用了子查询
比如
select x
from tablea
where column=
(
select b from tableb
)
而子查询返回的结果不止一条
回复

使用道具 举报

千问 | 2008-8-3 14:47:20 | 显示全部楼层
还有一种情况就是update语句使用子查询也会出现这个错误
回复

使用道具 举报

千问 | 2008-8-3 14:47:20 | 显示全部楼层
你把你的SQL写出来看看
回复

使用道具 举报

千问 | 2008-8-3 14:47:20 | 显示全部楼层
table太多了贴出来也看不清,不是update语句,我是在from前用了子查询
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行