尽管 "set serveroutput off",Oracle 仍然显示假脱机语句?
Oracle still showing spool statement despite "set serveroutput off"?
我运行以下命令:
SET PAGESIZE 1000 LINESIZE 500 ECHO OFF TRIMS ON TAB OFF FEEDBACK OFF HEADING OFF SERVEROUTPUT OFF
SPOOL c:/filea1.sql
SELECT /*INSERT*/ * FROM TBL WHERE A = 1;
SPOOL c:/filea2.sql
SELECT /*INSERT*/ * FROM TBL WHERE A = 2;
SPOOL c:/filea3.sql
SELECT /*INSERT*/ * FROM TBL WHERE A = 3;
除最后一个文件外,每个文件的最后一行都有假脱机语句,就像这样-
row1
row2
SQL> spool C:\next_file_name.sql
我尝试将 set 语句放在每对 spool 和 select 语句之间,但结果是一样的。我还尝试将 set 行分解为单独的语句并将它们全部放在 spool/select 之间,但结果仍然相同。
有什么建议吗?
解决方法是把你发布的代码:
set pagesize ...
...
SELECT /*INSERT*/ * FROM TBL WHERE A = 3;
到 .sql 脚本中(我们称它为 moshe.sql
)。然后,在 SQL*Plus 提示符下,运行 该脚本:
SQL> moshe.sql
它会让结果看起来像你预期的那样。
顺便说一句,完成后不要忘记 spool off
(您 "forgot" 在您的代码中这样做)。
我运行以下命令:
SET PAGESIZE 1000 LINESIZE 500 ECHO OFF TRIMS ON TAB OFF FEEDBACK OFF HEADING OFF SERVEROUTPUT OFF
SPOOL c:/filea1.sql
SELECT /*INSERT*/ * FROM TBL WHERE A = 1;
SPOOL c:/filea2.sql
SELECT /*INSERT*/ * FROM TBL WHERE A = 2;
SPOOL c:/filea3.sql
SELECT /*INSERT*/ * FROM TBL WHERE A = 3;
除最后一个文件外,每个文件的最后一行都有假脱机语句,就像这样-
row1
row2
SQL> spool C:\next_file_name.sql
我尝试将 set 语句放在每对 spool 和 select 语句之间,但结果是一样的。我还尝试将 set 行分解为单独的语句并将它们全部放在 spool/select 之间,但结果仍然相同。
有什么建议吗?
解决方法是把你发布的代码:
set pagesize ...
...
SELECT /*INSERT*/ * FROM TBL WHERE A = 3;
到 .sql 脚本中(我们称它为 moshe.sql
)。然后,在 SQL*Plus 提示符下,运行 该脚本:
SQL> moshe.sql
它会让结果看起来像你预期的那样。
顺便说一句,完成后不要忘记 spool off
(您 "forgot" 在您的代码中这样做)。