【发布时间】:2014-06-20 19:10:30
【问题描述】:
我在 oracle 数据库中有一些大表(很多列和数据类型),我需要将它们移动到另一个 oracle 数据库(比如从我的 DEV 区域到 UAT 区域)。无论如何我可以让sql developer或sql plus输出一个与现有表结构完全相同的create table语句吗?
谢谢
【问题讨论】:
我在 oracle 数据库中有一些大表(很多列和数据类型),我需要将它们移动到另一个 oracle 数据库(比如从我的 DEV 区域到 UAT 区域)。无论如何我可以让sql developer或sql plus输出一个与现有表结构完全相同的create table语句吗?
谢谢
【问题讨论】:
如果你想通过 SQL 语句得到它,那么你可以试试下面的查询
SELECT dbms_metadata.get_ddl('TABLE', 'Your_Table_Name') FROM dual;
更多信息请参见DBMS_METADATA。
您也可以使用 Toad 软件生成脚本(如果您安装了 Toad)
【讨论】:
如果您使用的是 SQL Developer,您可以右键单击要为其生成脚本的表。
从那里选择 Quick DDL,然后单击保存到文件。然后,这将生成创建表脚本到外部 sql 文件。您也可以通过一次选择多个表来对多个表执行此操作。
希望这会有所帮助!
【讨论】:
另一种选择是在两个模式之间创建一个数据库链接,然后做一个
create table table_name AS SELECT * from table_name@original_server
【讨论】: