2010-01-20 46 views
9

我已經假脫機文件運行下面的命令之前,得到了這樣的輸出,清除Oracle中的標題閥芯

我已經設置遠赴反饋關閉

掀起遠赴 安放反饋 SPOOL D:\ TEST.TXT SELECT SYSDATE FROM DUAL; SPOOL OFF

OUTPUT在TEST.TXT:

SQL> SELECT SYSDATE FROM DUAL;

20-JAN-09

SQL> SPOOL OFF

如何刪除兩個SQL>行。我只想要輸出。

在此先感謝。

回答

14

你需要的命令是:

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 

我加PAGESIZE 0到SET命令刪除輸出文件中日期之前的空白行。

+0

謝謝託尼你的主意有效。本傑明感謝你的腳本。 乾杯, Seenu。 – 2010-01-20 12:02:11

+0

隨時upvote任何你喜歡的答案,並接受最好解決你的問題的答案! – 2010-01-20 12:47:58

4

使用本:

#!/bin/ksh 
CONNECT_STRING=dbapp/[email protected] 
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 
+0

不,它顯示相同。請查找輸出 SQL> SELECT SYSDATE FROM DUAL; 20-JAN-10 SQL> SPOOL OFF – 2010-01-20 09:49:40

+0

現在檢查修改後的答案 – Vijay 2010-01-20 09:57:55

+1

+此解決方案不會換行或截斷行。這就是我一直在尋找的。 – 2016-01-29 20:51:35