ORA-01427:SELECT * FROM TABLE给出错误单行子查询返回多行

问题描述 投票:0回答:1

我尝试使用以下变体:

SELECT * FROM "DB"."TABLE"
SELECT COUNT(1) FROM "DB"."TABLE"
SELECT reference FROM "DB"."TABLE"
SELECT reference FROM "DB"."TABLE" WHERE rownum < 2

其中reference是cx_Oracle.STRING类型的特定字段

所有这些都返回以下错误:

cx_Oracle.DatabaseError: ORA-01427: single-row subquery returns more than one row

我不明白为什么最后一个例子会返回一个抱怨返回多行的错误,也不知道为什么在任何一个例子中返回多行都是一个问题。

我在SO上看到了很多类似的问题,但它们都有嵌套的选择,我可以理解这是有问题的,但这些应该只是简单的选择。

该数据库是Oracle 11g企业版,它通过cx_Oracle python接口访问。

sql oracle oracle11g cx-oracle
1个回答
0
投票

事实证明,我从中拉出的“表”实际上是一个数据库视图,一种伪表,它由sql连接在一起组成其他表。

错误实际上在视图中,而不是在我的SQL中,这是错误中引用的子查询的位置。感谢您在评论中的帮助!

© www.soinside.com 2019 - 2024. All rights reserved.