Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Clear the heading in Oracle spool

I have spooled a file before running the below command and got the output like this,

I have set heading off, feedback off

SET HEADING OFF
SET FEEDBACK OFF
SPOOL D:\TEST.TXT
SELECT SYSDATE FROM DUAL;
SPOOL OFF

OUTPUT in TEST.TXT:

SQL> SELECT SYSDATE FROM DUAL;

20-JAN-09

SQL> SPOOL OFF

How can i remove the two SQL> lines. I want only the output.

Thanks in advance.

like image 587
Srinivasan Thirunavukkarasu Avatar asked Jan 20 '10 09:01

Srinivasan Thirunavukkarasu


2 Answers

The command you need is:

SET ECHO OFF

However, it only works for code run from scripts, not command entered interactively. You would create a script file like this (e.g. called test.sql):

SET HEADING OFF FEEDBACK OFF ECHO OFF PAGESIZE 0
SPOOL D:\TEST.TXT 
SELECT SYSDATE FROM DUAL; 
SPOOL OFF

Then in SQL Plus run it like this:

SQL> @test

I added PAGESIZE 0 to the SET command to remove the blank line you otherwise get before the date in the output file.

like image 62
Tony Andrews Avatar answered Sep 16 '22 21:09

Tony Andrews


use this:

#!/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
like image 40
Vijay Avatar answered Sep 18 '22 21:09

Vijay