派生查询抛出错误 ORA-00604:递归 SQL 级别 1 时发生错误
Derived query throws error ORA-00604: error occurred at recursive SQL level 1
我的内部子查询 工作正常 从下面的查询中的 line 3
开始。
但是当我在其上进行查询时,它显示错误 ORA-00604:递归 SQL 级别 1
发生错误
SELECT PU , CA , COUNT(CA) CNT FROM
(
SELECT CASE
WHEN DP.STRVAL = 'A' then 'A1'
ELSE 'OTHERS' END PU,
(CASE WHEN UPPER(CP.STRVAL) = 'YES' THEN 'YES' ELSE 'NO' END) CA
FROM DM.MAP AP
LEFT OUTER JOIN DM.MAC BP ON AP.ISSUEID = BP.ISSUE AND BP.CF = 'RD'
LEFT OUTER JOIN DM.MAC CP ON AP.ISSUEID = CP.ISSUE AND CP.CF = 'CA'
LEFT OUTER JOIN DM.MAC DP ON AP.ISSUEID = DP.ISSUE AND DP.CF = 'PU'
) AB
GROUP BY PU, CA
上面的查询在第一个离开连接的行抛出错误
ORA-00604: error occurred at recursive SQL level 1
ORA-16000: database open for read-only access
00604. 00000 - "error occurred at recursive SQL level %s"
*Cause: An error occurred while processing a recursive SQL statement
(a statement applying to internal dictionary tables).
*Action: If the situation described in the next error on the stack
can be corrected, do so; otherwise contact Oracle Support.
Error at Line: 15 Column: 19
我没有发现此查询有任何问题,但不确定为什么会抛出错误。
可能的问题在于:
ORA-16000: database open for read-only access
当您应用 JOIN 和 GROUP BY 时,可能需要一些 TEMP space。而且您没有访问临时文件的权限 space.
检查你是否有体温tablespace.
此外,
DM.MAP
您可以通过以 DM 用户身份登录来尝试查询吗?
如果它是本地管理的临时文件 tablespace,那么只要有适当的权限,就不会有问题。但是,我有一种强烈的感觉,你没有所需的权限。
我的建议是,请咨询您的 DBA,您的 DBA 可能会处理一些重要的事情。
我的内部子查询 工作正常 从下面的查询中的 line 3
开始。
但是当我在其上进行查询时,它显示错误 ORA-00604:递归 SQL 级别 1
SELECT PU , CA , COUNT(CA) CNT FROM
(
SELECT CASE
WHEN DP.STRVAL = 'A' then 'A1'
ELSE 'OTHERS' END PU,
(CASE WHEN UPPER(CP.STRVAL) = 'YES' THEN 'YES' ELSE 'NO' END) CA
FROM DM.MAP AP
LEFT OUTER JOIN DM.MAC BP ON AP.ISSUEID = BP.ISSUE AND BP.CF = 'RD'
LEFT OUTER JOIN DM.MAC CP ON AP.ISSUEID = CP.ISSUE AND CP.CF = 'CA'
LEFT OUTER JOIN DM.MAC DP ON AP.ISSUEID = DP.ISSUE AND DP.CF = 'PU'
) AB
GROUP BY PU, CA
上面的查询在第一个离开连接的行抛出错误
ORA-00604: error occurred at recursive SQL level 1
ORA-16000: database open for read-only access
00604. 00000 - "error occurred at recursive SQL level %s"
*Cause: An error occurred while processing a recursive SQL statement
(a statement applying to internal dictionary tables).
*Action: If the situation described in the next error on the stack
can be corrected, do so; otherwise contact Oracle Support.
Error at Line: 15 Column: 19
我没有发现此查询有任何问题,但不确定为什么会抛出错误。
可能的问题在于:
ORA-16000: database open for read-only access
当您应用 JOIN 和 GROUP BY 时,可能需要一些 TEMP space。而且您没有访问临时文件的权限 space.
检查你是否有体温tablespace.
此外,
DM.MAP
您可以通过以 DM 用户身份登录来尝试查询吗?
如果它是本地管理的临时文件 tablespace,那么只要有适当的权限,就不会有问题。但是,我有一种强烈的感觉,你没有所需的权限。
我的建议是,请咨询您的 DBA,您的 DBA 可能会处理一些重要的事情。