在运行以下命令之前,我已经假脱机了一个文件并得到了这样的输出,
我已经出发了,反馈已关闭
SET HEADING OFF
SET FEEDBACK OFF
SPOOL D:\TEST.TXT
SELECT SYSDATE FROM DUAL;
SPOOL OFF
TEST.TXT 中的输出:
SQL> SELECT SYSDATE FROM DUAL;
20-JAN-09
SQL> SPOOL OFF
我怎样才能删除两个 SQL> 行。我只想要输出。
提前致谢。
您需要的命令是:
SET ECHO OFF
但是,它仅适用于从脚本运行的代码,而不适用于交互式输入的命令。您将创建一个像这样的脚本文件(例如称为test.sql):
SET HEADING OFF FEEDBACK OFF ECHO OFF PAGESIZE 0
SPOOL D:\TEST.TXT
SELECT SYSDATE FROM DUAL;
SPOOL OFF
然后在 SQL Plus 中像这样运行它:
SQL> @test
我在 SET 命令中添加了 PAGESIZE 0 以删除您在输出文件中的日期之前获得的空白行。
用这个:
#!/bin/ksh
CONNECT_STRING=dbapp/dbapp@inst
SQLPLUS_SETTINGS="SET PAGESIZE 1000 LINESIZE 500 ECHO OFF TRIMS ON TAB OFF FEEDBACK OFF HEADING OFF"
SQL_RESULT=`sqlplus -s ${CONNECT_STRING} << EOF
${SQLPLUS_SETTINGS}
select sysdate from dual;
exit;
EOF`
echo $SQL_RESULT >output_file