Oracle sql developer - export DDL - 只创建表sql

时间:2013-06-27 16:29:13

标签: sql oracle hsqldb h2 ddl

我想通过在我的oracle数据库中生成HSQLDB中的所有表来运行单元测试。

为此,我想从oracle表中导出所有DDL create table语句。

我尝试了导出数据库,但是随着创建表sql,我得到了很多其他的SQL,

“按比例分区”(“CREATION_DATE”)“等等

如何将所有oracle表(架构)导出到HSQLDB?有没有更好的方法?

2 个答案:

答案 0 :(得分:2)

您可以使用DBMS_METADATA.GET_DDL()函数获取表格定义,并修改SET_TRANSFORM_PARAM()选项中包含的内容,尤其是PARTITIONING参数。

您可以搜索许多示例,但here's one that shows the DDL being simplified具有类似的转换。

答案 1 :(得分:0)

这是一些工作,但您可以实现自己的工具来创建DDL。

您需要的只是存储在Oracle数据库目录中。

要仅创建表(没有索引和约束),您需要这两个表:

  • USER_TAB_COLUMNS
  • USER_TABLES

您可以在此处找到这些表的详细文档: Oracle Database Reference

其他有用的Oracle表

  • USER_CONSTRAINTS
  • USER_INDEXES