Oracle 从dbms_metadata.get_ddl检索输出时出错
当我尝试运行以下SQL语句时,出现了错误:Oracle 从dbms_metadata.get_ddl检索输出时出错,oracle,ddl,dbms-output,Oracle,Ddl,Dbms Output,当我尝试运行以下SQL语句时,出现了错误: set long 90000 set heading 999 set lines 100 select dbms_metadata.GET_DDL(u.object_type,u.object_name,'MY_SCHEMA') from dba_objects u where owner = 'MY_SCHEMA' AND OBJECT_TYPE='TABLE'; 错误: ORA-31600:函数GET\u DD
set long 90000
set heading 999
set lines 100
select
dbms_metadata.GET_DDL(u.object_type,u.object_name,'MY_SCHEMA')
from
dba_objects u
where
owner = 'MY_SCHEMA'
AND OBJECT_TYPE='TABLE';
错误:
ORA-31600:函数GET\u DDL中参数对象类型的输入值链无效
Funktion GET_DDL ORA-06512:在“SYS.DBMS_元数据”中,第6069行
ORA-06512:在“SYS.DBMS_元数据”中,第8666行ORA-06512:在第1行中
3160000000-“函数%s中参数%s的输入值%s无效”
*原因:为参数提供了空值或无效值。
*操作:更正输入值,然后重试调用
您能给我一些如何检索select输出的建议吗。
可能的对象类型参数列表。并且并非列表中的所有元素都等于dba_objects.object_type。您必须将其转换为适当的值。在您的例子中,问题是
链
对象。通常,对于任何调度程序对象,对象类型都是PROCOBJ
。但我不知道它是否适用于链条
选择dbms_元数据。从dual获取_ddl('PROCOBJ','chain_name')代码>当对象类型在表中过滤时,为什么它要查看链?我不认为是相关代码导致了异常。第一行异常表示,OBJECT\u TYPE
的输入值是CHAIN
而且,为什么不直接查询用户表呢?dbms\u元数据是一个需要调用的昂贵的pkg,不需要给它一个昂贵的查询来提供数据