【发布时间】:2015-07-27 14:06:59
【问题描述】:
是否可以从嵌套脚本假脱机到不同的文件? 我有一个脚本调用另一个脚本。第一个脚本将所有内容都输出到一个输出。而且我只想将第二个脚本的某些部分保存在不同的文件中。
但是当我在第二个脚本中停止假脱机时,它完全停止了,我不知道如何再次启动它以使其继续在第一个文件中假脱机。
例如拥有这两个脚本,第二个 Select to MY_TABLE 不会被假脱机。
firstScript.sql
prompt --------------Start firstScript--------------
set pagesize 0
set heading on
set feedback on
set timing on
set time on
set echo on
set verify on
spool testFirstScript.sql
select DBMS_METADATA.GET_DDL('TABLE', 'MY_TABLE') from dual;
@secondScript.sql
select * from MY_TABLE where Id = 1; -- This doesn't get spooled.
spool off
prompt --------------End firstScript--------------
secondScript.sql
prompt --------------Start secondScript--------------
spool testSecondScript.sql
select * from MY_TABLE;
spool off
prompt --------------End secondScript--------------
假脱机输出:
testFirstScript.sql
11:28:23 SQL>
11:28:23 SQL> select DBMS_METADATA.GET_DDL('TABLE', 'MY_TABLE') from dual;
CREATE TABLE "S1"."MY_TABLE"
( "ID" NUMBER,
"NAME" VARCHAR2(30)
1 row selected.
Elapsed: 00:00:01.08
11:28:24 SQL>
11:28:24 SQL> @secondScript.sql
11:28:24 SQL> prompt --------------Start secondScript--------------
11:28:24 >
--------------Start secondScript-------------
11:28:24 SQL> spool testSecondScript.sql
testSecondScript.sql
11:28:24 SQL>
11:28:24 SQL> select * from MY_TABLE;
1 Test1
2 Test2
2 rows selected.
Elapsed: 00:00:00.36
11:28:24 SQL>
11:28:24 SQL> spool off
【问题讨论】: