【问题标题】:ORA-00904: "ROW_ID": invalid identifierORA-00904: "ROW_ID": 无效标识符
【发布时间】:2019-10-15 14:09:41
【问题描述】:

我想从下面的查询中获取 rowId,但是当我执行查询时出现错误。

WITH DATA_TBL AS
                (SELECT 
          /*+ parallel(scr,10)
              parallel(el,10)  */ scr.rowid  AS "row_id", scr.*
          FROM SOURCE_TABLE scr
          LEFT OUTER JOIN CITY el ON (el.CITY_NAME  = scr.SUN_W)
          WHERE el.rowid IS NULL
          AND scr.SUN_W IS NOT NULL
          AND GREATEST(scr.SUN_WA, scr.B ) IS NULL
          )
          
          SELECT row_id FROM DATA_TBL;

当我执行上述查询时,我得到以下错误,我不确定我做错了什么。

ORA-00904: "ROW_ID": invalid identifier
00904. 00000 -  "%s: invalid identifier"

但如果我执行以下操作,查询运行没有任何问题,但我只想选择 row_id。

【问题讨论】:

  • row_id "row_id"

标签: sql oracle oracle11g


【解决方案1】:

不要使用双引号作为标识符!默认情况下,Oracle 大写所有标识符。您已明确将其定义为小写。

你可以说select "row_id",但这很愚蠢。删除 CTE 中的双引号。

【讨论】:

  • 感谢@gordon Linoff 的帮助!
  • @Rasmi 如果该答案解决了您的问题,那么请accept 它,以便您的问题被标记为已解决。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-08
  • 2022-01-22
  • 2011-08-27
  • 2011-04-21
  • 2019-06-29
  • 2013-10-20
  • 2017-12-29
相关资源
最近更新 更多