6

使用 Oracle SQL Developer,您可以使用“工具”>“数据库导出”菜单项将数据库导出到 SQL 脚本(仅限 INSERT 语句)。问题是该表是按字母顺序导出的,并且似乎无法更改该顺序(或者我至少没有找到如何进行)。

这是一个问题,因为当您有外键约束时,导出的 SQL 脚本可能无法重新导入,因为必须在子级之前插入父级。假设 B 是父级,A 是子级,(简化的)Oracle SQL Developer 导出的 SQL 脚本文件将是:

INSERT A; <-- error: B is needed
INSERT B;

那么,有没有人可以解决:

  • 根据外键约束导出具有自动排序表插入语句的数据库,
  • 或在手动指定表插入语句的顺序时导出数据库,
  • 或暂时禁用外键约束以便能够按字母顺序导入脚本,然后重新启用约束

?

PS:想法是让表结构保持原样,并且只导入数据。

4

1 回答 1

0

有一种方法可以手动指定表插入语句的顺序。

在 SQL Developer 中:工具 > 导出数据库。

如果您只需要表中的数据,请取消选中“导出 DDL 代码”选项。

“指定数据”窗口中,您现在可以在插入顺序中手动指定您需要的表(在您的示例中,表 B 在表 A 之前)。

这应该够了吧!它至少对我有用。

但是,自动执行此操作会更好,因为如果您有很多桌子,这可能会有点乏味...

于 2014-01-17T15:34:42.757 回答