3

尝试在此查询中使用此函数为序列提取 ddl 时遇到问题:

select dbms_metadata.get_dependent_ddl('SEQUENCE', base_object_name) from dual;

base_object_name - 触发器的名称,使用序列。结果:ora-31604 OBJECT_TYPE 'SEQUENCE' 的名称参数名称“BASE_OBJECT_NAME”无效

例如,当我执行此查询时:

select dbms_metadata.get_dependent_ddl('INDEX', base_table_name) from dual;

结果我有指定表的索引。

请帮忙,如何使用get_dependent_ddl()函数提取序列ddl?

4

2 回答 2

4

序列不依赖于表,因此您需要使用select dbms_metadata.get_ddl('SEQUENCE', 'SEQ_NAME') from dual;它来检索它的 ddl。

于 2013-07-10T11:48:53.277 回答
1

序列不依赖于触发器。它是一个单独的对象,不需要其他对象即可存在。改用 DBMS_METADATA 上的GET_DDL子程序:

select dbms_meta_data.get_ddl('SEQUENCE',sequence_name) from dual
于 2013-07-10T11:46:26.190 回答