sp0*_*00m 6 database export foreign-keys oracle-sqldeveloper
使用 Oracle SQL Developer,您可以使用“工具”>“数据库导出”菜单项将数据库导出到 SQL 脚本(仅限 INSERT 语句)。问题是该表是按字母顺序导出的,并且似乎无法更改该顺序(或者我至少没有找到如何进行)。
这是一个问题,因为当您有外键约束时,导出的 SQL 脚本可能无法重新导入,因为父项必须在子项之前插入。假设 B 是父级,A 是子级,(简化的)Oracle SQL Developer 导出的 SQL 脚本文件将是:
INSERT A; <-- error: B is needed
INSERT B;
Run Code Online (Sandbox Code Playgroud)
所以,有没有人有解决方案:
?
PS:这个想法是让表按原样结构,只导入数据。
有一种方法可以手动指定表插入语句的顺序。
在 SQL Developer 中:工具 > 导出数据库。
如果您只需要表中的数据,请取消选中“导出 DDL 代码”选项。
在“指定数据”窗口中,您现在可以手动指定插入顺序中所需的表(在您的示例中,表 B 在表 A 之前)。
这应该够了吧!至少对我来说是这样。
不过,自动执行此操作的方法会更好,因为如果您有很多桌子,这可能会有点乏味......