【问题标题】:oracle ref() ora-00904 invalid column nameoracle ref() oracle-00904 无效的列名
【发布时间】:2017-11-16 05:16:25
【问题描述】:

显然那里有很多 ora-00904 错误,但我找不到与我的类似情况。

我的案例与oracle中的ref()函数有关:https://docs.oracle.com/cloud/latest/db112/SQLRF/functions145.htm#SQLRF00694

根据上面链接中的例子,你可以像下面这样查询没有问题:

select ref(x) from some_table x

但我得到的是错误ora-00904 invalid column name,它突出显示了ref(x) 中的x

我无法从查询中删除 ref() 函数,因为它是由 oracle 表单自动添加的。

有人有类似经历吗?有什么要设置的吗?

顺便说一句,我在 oracle 8i 之上使用了一个古老的 oracle 形式 6i

【问题讨论】:

  • 尝试添加列别名select ref(x) MyColName from some_table x
  • @Used_By_Already 不幸的是,它没有任何效果并得到相同的结果
  • 好吧,它是在“类型”的上下文中使用的,因此表 neds(我相信)包含一个“类型”列,只有这样 ref() 才相关。即它不仅仅是可以使用的任何表别名
  • @Used_By_Already 嗯嗯,好像找到线索了,谢谢,我去研究一下
  • @Used_By_Already 谢谢,正如你所暗示的那样,“表类型”对我来说是新的,所以我错过了链接中的详细信息。考虑发布答案,以便我接受。 ;)

标签: oracle oracleforms oracle8i


【解决方案1】:

ref() 函数与用户定义的类型一起使用;因此函数使用的表别名需要引用用户定义类型的表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多