Alexandr
Alexandr

Reputation: 127

How to extract sequence ddl in Oracle DB

I have a problem when try extract ddl for sequence using this function in this query:

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

base_object_name - name of trigger, that use sequences. Result: ora-31604 invalid name parameter NAME "BASE_OBJECT_NAME" for OBJECT_TYPE 'SEQUENCE'

For example when I execute this query:

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

in result I have indexes for specified table.

Please, help, how to extract sequence ddl using get_dependent_ddl() function?

Upvotes: 4

Views: 22284

Answers (2)

Marco Baldelli
Marco Baldelli

Reputation: 3728

Sequences are not dependent on tables, therefore you need to use select dbms_metadata.get_ddl('SEQUENCE', 'SEQ_NAME') from dual; to retrieve its ddl.

Upvotes: 5

Ben
Ben

Reputation: 52883

A sequence is not dependent on a trigger. It is a separate object that requires no other object in order to exist. Use the GET_DDL subprogram on DBMS_METADATA instead:

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

Upvotes: 1

Related Questions