我在sql developer上导出数据,并在每个表之前获取数据库名称或用户名,如下所示:
Insert into FAUSTO.CLIENT (ID, Name) ...
因此,本例中的数据库为FAUSTO。我希望此导出独立于数据库名称。
我还有另一个创建架构的脚本,然后运行一些插入数据的脚本。因此,无论数据库名称是什么,它都应该一直工作。
谢谢
最佳答案
这有点不直观,但是在取消选中整个部分之前,请在SQL Developer导出向导中,取消选中“导出DDL”部分中的“显示模式”选项。
即使您排除了DDL,insert语句也会使用该设置。
关闭该选项后,生成的脚本如下所示:
--------------------------------------------------------
-- File created - Thursday-June-23-2016
--------------------------------------------------------
REM INSERTING into A
SET DEFINE OFF;
Insert into A (NAME,AGE) values ('Tom',1);
Insert into A (NAME,AGE) values ('John',2);
...
如果我再次导出,但保留“显示模式”复选框,则会得到:
--------------------------------------------------------
-- File created - Thursday-June-23-2016
--------------------------------------------------------
REM INSERTING into STACKOVERFLOW.A
SET DEFINE OFF;
Insert into MYSCHEMA.A (NAME,AGE) values ('Tom',1);
Insert into MYSCHEMA.A (NAME,AGE) values ('John',2);
...