如何在Oracle DB中提取序列ddl

时间:2013-07-10 11:41:18

标签: oracle11g extract ddl

在此查询中尝试使用此函数提取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?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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

select dbms_meta_data.get_ddl('SEQUENCE',sequence_name) from dual