0

当我尝试运行以下 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_DDL 函数 GET_DDL 中参数 OBJECT_TYPE 的输入值 CHAIN 无效 ORA-06512:在“SYS.DBMS_METADATA”中,第 6069 行 ORA-06512:在“SYS.DBMS_METADATA”中,第 8666 行 ORA-06512:在第 1 行 31600 . 00000 - “函数 %s 中参数 %s 的无效输入值 %s” *原因:为参数提供了 NULL 或无效值。*操作:更正输入值并再次尝试调用。

您能否提供一些建议,我可以如何检索选择输出。

4

1 回答 1

1

https://docs.oracle.com/database/121/ARPLS/d_metada.htm#BGBIEDIA

可能的对象类型参数列表。并非列表中的所有元素都等于 dba_objects.object_type。您必须将其转换为适当的值。
在您的情况下,问题是chain对象。通常对于任何调度程序对象,对象类型都是PROCOBJ. 但我不知道它是否适用于连锁店。

select dbms_metadata.get_ddl('PROCOBJ','chain_name') from dual;

于 2018-03-30T11:21:26.887 回答