1

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

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

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

“ PARTITION BY RANGE ("CREATION_DATE") ” 等等。

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

4

2 回答 2

4

您可以使用该DBMS_METADATA.GET_DDL()函数来获取表定义,并修改SET_TRANSFORM_PARAM()选项中包含的内容,特别是在这种情况下是PARTITIONING参数。

有很多示例供您搜索,但这里有一个示例显示了 DDL通过类似的转换进行了简化。

于 2013-06-27T21:58:46.683 回答
0

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

您所需的一切都存储在 Oracle 数据库目录中。

要仅创建表(没有索引和约束),您需要以下 2 个表:

  • USER_TAB_COLUMNS
  • USER_TABLES

您可以在此处找到这些表的详细文档: Oracle 数据库参考

其他有用的 Oracle 表是

  • USER_CONSTRAINTS
  • USER_INDEXES
于 2013-06-27T19:14:42.600 回答