错误报告:SQL 错误:ORA-00904::无效标识符 00904。00000 - “%s:无效标识符”

Posted

技术标签:

【中文标题】错误报告:SQL 错误:ORA-00904::无效标识符 00904。00000 - “%s:无效标识符”【英文标题】:Error report: SQL Error: ORA-00904: : invalid identifier 00904. 00000 - "%s: invalid identifier" 【发布时间】:2016-09-16 07:19:34 【问题描述】:

我正在使用 SQL Developer 对 Oracle 数据库运行此查询。它给了我一条关于无效标识符“%s”的错误消息。我做错了什么?

WITH security_menu_Recursive(Parent,MenuId,obj,LEVEL)
    AS
    (
        SELECT MZMNI,MZMTOE,MZOBNM,0 AS LEVEL FROM 
        
    PRODDTA.PBS.PRODCTL.F00821
    WHERE MZMNI = 'G5509L2'
        UNION ALL
        SELECT MZMNI,MZMTOE,MZOBNM,Level + 1 AS LEVEL
         FROM PRODDTA.PBS.PRODCTL.F00821
        INNER JOIN security_menu_Recursive AS smr ON smr.mENUID = 
     MZMNI
    )
    SELECT parent,menuid,OBJ,LEVEL FROM security_menu_Recursive

【问题讨论】:

【参考方案1】:

LEVEL 是一个reserved word,在hierarchical query 语法中具有特殊含义。即使在使用分层查询时,如果您想在外部查询中引用该伪列,也必须将该伪列别名为另一个名称。

您需要将该别名的名称更改为其他名称。

【讨论】:

以上是关于错误报告:SQL 错误:ORA-00904::无效标识符 00904。00000 - “%s:无效标识符”的主要内容,如果未能解决你的问题,请参考以下文章

SQL 错误:ORA-00904:“GENDER”:无效标识符 00904。00000 -“%s:无效标识符”

SQL 错误:ORA-00904:创建表期间标识符无效

SQL 错误:ORA-00904: : 第 4 行中的标识符无效

SQL 错误:ORA-00904:“CNPPARMID”:标识符无效

错误:PL/SQL:ORA-00904::标识符无效

SQL 错误 [904] [42000]:ORA-00904:“SPAREBOX”:无效标识符 [重复]