ORA-00904:“ ROW_ID”:无效的标识符

时间:2019-10-15 14:09:41

标签: sql oracle oracle11g

我想从下面的查询中获取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。

1 个答案:

答案 0 :(得分:3)

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

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