在Oracle SQL Developer中,每个表都有一个“SQL”选项卡。此选项卡包含重新创建表所需的大部分SQL代码(CREATE TABLE
,CREATE TRIGGER
等)。
这些信息是以编程方式从数据库系统获得的,还是SQL Developer的应用程序功能?如果是前者,我需要运行哪些命令/语句来检索此信息?如果是后者,有没有聪明的方法让SQL Developer导出这些语句?
答案 0 :(得分:7)
如果您使用的是Oracle 9i +,那么您正在寻找DBMS_METADATA包。 http://download.oracle.com/docs/cd/B10500_01/appdev.920/a96612/d_metada.htm。它将允许您提取所需的任何DDL。
如果您正在寻找更具体的信息,您可以访问大量的视图,以获取与@Quassnoi提供的数据元素类似的特定数据元素。
答案 1 :(得分:3)
有很多信息,但以下是主要问题:
SELECT *
FROM dba_tables
SELECT *
FROM dba_tab_columns
SELECT *
FROM dba_ind_columns
要查看SQL Developer
实际输出的内容,请为LOGON TRIGGER
的所有会话启用跟踪,并查看SQL Developer
内部会话创建的跟踪文件。
答案 2 :(得分:1)
您正在寻找数据库对象的DDL
。
您可以使用Oracle捆绑的DBMS_METADATA
包从任何PL / SQL提示符中获取GET_DDL
函数。
答案 3 :(得分:0)
我使用TOAD与Oracle SQL Developer。
当我在查看对象(如表格)时单击“脚本”选项卡时,TOAD会执行大量查询,然后从所有这些查询的输出中编译“脚本”。
DBA_TABLES DBA_TAB_COLUMNS dba_ind_columns
...
我认为复制这个功能将是一项繁琐的工作。