文档解释
ORA-39785: SQL expressions returning ADT objects are not allowed in direct path
Cause: The passed SQL expression returned a user-defined ADT which was not supported.
Action: Remove the SQL expression.
ORA-39785是数据库管理中的一个通用错误,表示SQL语句返回的结果集中不允许包含ADT(Abstract Data Type)对象。官方解释指出,当尝试在一个DIRECT PATH操作中使用SQL表达式,而SQL表达式返回的结果集中包含ADT对象时,就会发生此错误(ORA-39785)。
常见的案例之一是在数据导出中运行SQL语句,并将SELECT语句的结果用于生成一些文件,其中该语句返回的结果集中含有ADT对象。在这种情况下,在尝试运行查询语句时,就会发生此错误。
正常处理方法是,使SQL表达式不返回ADT对象,而是其他数据类型。为此,需要更改SQL表达式来使其不返回ADT对象即可。注意,在重新编写SQL表达式时应该遵循正确的SQL语法,以便执行SQL语句并返回期望的结果集。