当我在命令提示符下使用 sqlplus 时,设置 TERMOUT OFF 不起作用?

Gau*_*avH 2 oracle windows sqlplus

我在我的 spool sql 脚本中使用下面列出的 sql 语句,并且我正在从 sqlplus 执行这个脚本。但在终端查询输出仍然存在,我在命令提示符中使用 sqlplus。但是当我尝试直接启动 sqlplus.exe 并使用此脚本时,我没有在终端中获得查询输出。

当我从命令提示符启动 sqlplus 时,有人可以帮助如何停止终端输出吗?

SET ECHO OFF
SET TERMOUT OFF
SET FEEDBACK OFF
SET PAGESIZE 0  
SET LINESIZE 83
SET TRIMSPOOL ON
SET WRAP ON
SET RECSEP OFF

SPOOL '&1'

SELECT 
    DATA_OUT_DATA 
FROM 
    STAGE.DATA_TABLE
ORDER BY 
    DATA_UNIQ_ID,DATA_INV_ID, DATA_SEQ_NO;

SPOOL OFF

SET PAGESIZE 24
SET LINESIZE 80
SET FEEDBACK ON
SET TERMOUT ON
Run Code Online (Sandbox Code Playgroud)

Bal*_*app 7

12.41.61 SET TERM[OUT] {ON | 离开}

控制由@、@@ 或 START 执行的脚本中的命令生成的输出的显示OFF 禁止显示,以便您可以将输出假脱机到文件而不在屏幕上显示输出。ON 在屏幕上显示输出。TERMOUT OFF 不会影响您交互输入的命令的输出或从操作系统重定向到 SQL*Plus。

将上述命令放入脚本中,然后调用该脚本。

脚本.sql:

SET ECHO OFF
SET TERMOUT OFF
SET FEEDBACK OFF
SET PAGESIZE 0  
SET LINESIZE 83
SET TRIMSPOOL ON
SET WRAP ON
SET RECSEP OFF

SPOOL '&1'

SELECT 
    DATA_OUT_DATA 
FROM 
    STAGE.DATA_TABLE
ORDER BY 
    DATA_UNIQ_ID,DATA_INV_ID, DATA_SEQ_NO;

SPOOL OFF

SET PAGESIZE 24
SET LINESIZE 80
SET FEEDBACK ON
SET TERMOUT ON
Run Code Online (Sandbox Code Playgroud)

然后:

SQL> @script.sql
Run Code Online (Sandbox Code Playgroud)