gpt4 book ai didi

Oracle:列定义不明确

转载 作者:行者123 更新时间:2023-12-04 22:15:35 25 4
gpt4 key购买 nike

我知道有很多这样的问题,但我的问题不是如何摆脱这个错误,而是要知道它在第 9 版 Oracle 早期是如何工作的。

我有一个用 Ruby 和 Oracle DB 编写的旧源代码,最近升级到 version=11。

我无法在 Oracle DB 中编辑数据,只能读取。所以有两个表可以说:表 A(id, name, type, customer) 和表 B(id,a_id,type,person)

所以。源代码中有一个查询:

select a.id,b.id from a join b on a.id = b.a_id where type = 'A'

所以在 Oracle 9 中,这工作得很好,但现在我遇到了“列有歧义定义”的错误。

我想知道的是:
where type = 'A'

是相同的
where a.type = 'A' AND b.type = 'A'

或者
where a.type = 'A' OR b.type = 'A'

?

最佳答案

我认为这是 ANSI 样式连接的一个错误。使用 DBMS_XPLAN 查找旧数据库中正在过滤的表。

或者更好的是,从业务逻辑中找出他们查询的应该是什么。

关于Oracle:列定义不明确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7254462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com