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

时间:2018-09-04 08:16:14

标签: sql oracle oracle11g cx-oracle

我尝试使用以下变体:

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

其中引用是 cx_Oracle.STRING

类型的特定字段

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

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

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

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

该数据库是Oracle 11g企业版,可以通过cx_Oracle python接口对其进行访问。

1 个答案:

答案 0 :(得分:0)

事实证明,我从中提取的“表”实际上是数据库视图,是一种伪表,由sql结合在一起组成其他表。

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