Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database Oracle SQL Developer:根据外键约束以特殊顺序导出数据库_Database_Foreign Keys_Export_Oracle Sqldeveloper - Fatal编程技术网

Database Oracle SQL Developer:根据外键约束以特殊顺序导出数据库

Database Oracle SQL Developer:根据外键约束以特殊顺序导出数据库,database,foreign-keys,export,oracle-sqldeveloper,Database,Foreign Keys,Export,Oracle Sqldeveloper,使用Oracle SQL Developer,您可以使用“工具”>“数据库导出”菜单项将数据库导出到SQL脚本(仅限插入语句)。问题是表是按字母顺序导出的,而且似乎不可能更改顺序(或者至少我没有找到如何继续) 这是一个问题,因为当您有外键约束时,可能无法将导出的SQL脚本导入回,因为父脚本必须在子脚本之前插入。假设B是父级,A是子级,则(简化的)Oracle SQL Developer导出的SQL脚本文件将是: 插入一个 有一种方法可以手动指定表insert语句的顺序 在SQL开发人员中:工具>

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

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


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

在SQL开发人员中:工具>导出数据库

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

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

那就应该成功了!至少对我来说是这样


不过,自动执行此操作的方法会更好,因为如果您有很多表,可能会有点繁琐…

您正在尝试克隆数据库吗?@Lokesh否,只是为了让SQL脚本插入我当前拥有的数据,我可以稍后使用它重新生成数据库。我在SQL developer中看到了一个自动包含依赖项的选项。也许你可以试试。@Lokesh你还记得在哪里看到这个选项吗?检查这个链接:有没有自动方式?