我不是Oracle开发人员。我们有一项工作,其中包含从Oracle检索数据并将其发布(更新并插入)到另一个数据库中的步骤。奇怪的问题是在选择查询中给出错误
ORA-01427: single-row subquery returns more than one row
调查查询后为
SELECT DISTINCT CUSTOMER, CUSTOMER_STATUS, CUST_ACCT_CREATION_DATE,.... FROM table_CUSTOMER
并且当我从查询中删除某些列时,它给我的结果没有问题,但是不幸的是,这些列是用于其他目的的。
这些列如何产生此错误?
答案 0 :(得分:0)
如何?因为他们没有给出不同的结果集,所以就是这样。
如果需要获取一行,请对该查询应用WHERE
子句,以确保仅返回一行。
限制行数的最简单方法是使用WHERE rownum = 1
,但它将返回一个随机行。它会满足业务规则吗?我不知道。也许;也许不是。
我们没有您的表格或数据。但是,如果您可以提供测试用例,那么有人可以提供帮助。