2013-07-10 62 views
2

提取序列DDL我有一個問題,當在此查詢中使用該功能序列嘗試提取DDL:如何在Oracle數據庫

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

base_object_name - 觸發器的名稱,在使用序列。 結果:ORA-31604無效的名稱參數名「BASE_OBJECT_NAME」爲OBJECT_TYPE「序」

例如,當我執行此查詢:

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

的結果,我對指定表的索引。

請幫忙,如何使用get_dependent_ddl()函數提取序列ddl?

回答

3

序列是不依賴於表,所以你需要使用select dbms_metadata.get_ddl('SEQUENCE', 'SEQ_NAME') from dual;檢索其DDL。

1

序列不依賴於觸發器。它是一個單獨的對象,不需要其他對象就可以存在。使用GET_DDL子程序上DBMS_METADATA來代替:

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

謝謝,我知道'get_ddl()'函數 – Alexandr