在Oracle SQL Developer中,每個表都有一個「SQL」選項卡。此選項卡包含重新創建表所需的大部分SQL代碼(CREATE TABLE
,CREATE TRIGGER
等)。Oracle中的CREATE TABLE逆向工程
可用此信息編程從數據庫系統,或者這是SQL Developer的應用功能?如果前者,我需要運行哪些命令/語句來檢索這些信息?如果以後,有沒有什麼聰明的方法讓SQL Developer導出這些語句?
在Oracle SQL Developer中,每個表都有一個「SQL」選項卡。此選項卡包含重新創建表所需的大部分SQL代碼(CREATE TABLE
,CREATE TRIGGER
等)。Oracle中的CREATE TABLE逆向工程
可用此信息編程從數據庫系統,或者這是SQL Developer的應用功能?如果前者,我需要運行哪些命令/語句來檢索這些信息?如果以後,有沒有什麼聰明的方法讓SQL Developer導出這些語句?
如果您正在使用Oracle 9i,然後+你正在尋找的DBMS_METADATA包。 http://download.oracle.com/docs/cd/B10500_01/appdev.920/a96612/d_metada.htm。它將允許你提取你想要的任何DDL。
如果您正在尋找更具體的信息,有意見你可以訪問類似於@Quassnoi給出的那些特定的數據元素一大堆。
有大量的信息,但這裏主要查詢:
SELECT *
FROM dba_tables
SELECT *
FROM dba_tab_columns
SELECT *
FROM dba_ind_columns
要查看SQL Developer
實際輸出,使跟蹤與一個LOGON TRIGGER
所有會話,並考慮通過SQL Developer
的創建跟蹤文件內部會議。
您正在尋找您的數據庫對象的DDL
。
您可以使用Oracle捆綁的DBMS_METADATA
軟件包從任何PL/SQL提示符中使用GET_DDL
函數獲取它。
我使用TOAD與Oracle SQL Developer。
當我查看對象(如表)時,「腳本」選項卡中點擊TOAD執行查詢一大堆,然後編譯所有這些查詢的輸出的「腳本」。
DBA_TABLES DBA_TAB_COLUMNS dba_ind_columns
...
我想複製這個功能將是一個乏味的任務。
+1有用的信息,但有一些已經在SQL Developer中在捉弄這一切彙集成所需要的CREATE TABLE語句。我想要訪問那個。 – 2009-07-28 17:12:45
@Alan:有`DBMS_METADATA.get_ddl`,但是'AFAIR`它不輸出觸發器,權限等。不知道'SQL Developer`的行爲究竟如何,但`Allround Automations PL/SQL Developer`不依賴在`DBMS_METADATA.get_ddl`上,它查詢`DBA_ *`視圖並在內部構建`DDL`。 – Quassnoi 2009-07-28 17:28:55