我正在使用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
答案 0 :(得分:0)
LEVEL
是reserved word,在hierarchical query语法中具有特殊含义。即使使用分层查询,如果要在外部查询中引用伪列,也必须将伪列别名为另一个名称。
您需要将该别名的名称更改为其他名称。