文档解释
ORA-38815: ALTER SESSION SET EDITION must be a top-level SQL statement
Cause: An edition switch failed because it was executed from a PL/SQL block or using recursive SQL.
Action: Execute the statement from a top-level OCI call, or use dbms_session.set_edition if its deferred effect is appropriate.
此错误表明在SQL语句中,ALTER SESSION SET EDITION不能作为一个嵌套的语句来使用,必须作为最顶层的SQL语句使用。
官方说明:Oracle 错误号:38815,错误消息:ALTER SESSION SET EDITION must be a top-level SQL statement
说明:
Oracle 错误号:38815,错误信息为:ALTER SESSION SET EDITION 必须是一个顶级 SQL 语句。
这个错误表明,ALTER SESSION SET EDITION不能作为一个嵌套SQL语句使用,它必须作为整个SQL语句中最顶层的语句使用。
常见案例
一个常见的案例是在一个 SELECT 语句的内部尝试使用 ALTER SESSION SET EDITION。
一般处理方法及步骤
确保将 ALTER SESSION SET EDITION 语句放在最顶层,即放在所有其他语句之前。要确保在执行 ALTER SESSION 语句之前没有开启事务。