如何根据现有模式在 Oracle 中编写表结构?

Posted

技术标签:

【中文标题】如何根据现有模式在 Oracle 中编写表结构?【英文标题】:How do I write the table structure in Oracle from an existing schema? 【发布时间】:2019-12-05 16:48:10 【问题描述】:

到目前为止,我已经发现可以使用以下表格来描述表格:

select dbms_metadata.get_ddl('TABLE','<my table name>','<table owner>') from dual;

我还发现我可以使用以下语句从当前用户获取表格列表:

select table_name from user_tables;

但是我需要找到一种方法将这两者结合起来,以便得到一个(最好是 SQL 文件)输出,它基本上描述了当前架构中的所有表。我该怎么办?

【问题讨论】:

如果您想以编程方式进行 - 只需在循环中运行第一个查询。否则,获取任何 Oracle IDE(例如 Oracle SQL 开发人员)——它们都有某种模式导出实用程序。 【参考方案1】:

在您对user_tables的查询中致电dbms_metadata

select dbms_metadata.get_ddl('TABLE',table_name,user) 
from   user_tables;

【讨论】:

以上是关于如何根据现有模式在 Oracle 中编写表结构?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Oracle中复制表结构和表数据

Oracle中如何将自动增量添加到现有表中

如何根据Oracle中的值查找表名[重复]

如何更改现有表以在 Oracle 中创建范围分区

如何从 Oracle PL/SQL 函数中返回现有表中的记录?

oracle中,如何在一张表插入数据,使得插入数据的某些字段为其他表中的数据