我知道有很多这样的问题,但我的问题不是如何摆脱这个错误,而是知道如何在Oracle的第9版中更早地工作。Oracle:列模糊定义
我有一个用Ruby和Oracle DB编写的旧资源,最近升级到版本= 11。
我无法编辑Oracle数据库中的数据,只能读取。所以有两个表让我们说:表A(ID,名称,类型,客户)和表B(ID,A_ID,类型,人)
所以。有在源代码中的查询:
select a.id,b.id from a join b on a.id = b.a_id where type = 'A'
所以在甲骨文9这个完美工作,但现在我已经得到了“列含糊不清”的错误。
我想知道的是:
where type = 'A'
相同
where a.type = 'A' AND b.type = 'A'
或
where a.type = 'A' OR b.type = 'A'
?
我真的很惊讶,它在Oracle 9中工作。该查询应该从来没有工作。 –
您是否将列TYPE添加到与迁移到Oracle 11相同的进程中的某个表中?或者,也许一个GRANT让你看到了其中的一列? – Benoit
其实我不能回答这个问题,因为我不是DBA。所以我只是不知道这个数据库是如何迁移的( –