tags:

views:

163

answers:

2

Hi,

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.

A: 

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
Vijay Sarathi
No it shows the same. Please find the outputSQL> SELECT SYSDATE FROM DUAL;20-JAN-10SQL> SPOOL OFF
Srinivasan Thirunavukkarasu
check now with the modified answer
Vijay Sarathi
A: 

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.

Tony Andrews
Thanks Tony your idea works. And benjamin thanks for your scripts.Cheers,Seenu.
Srinivasan Thirunavukkarasu
Feel free to upvote any answers you liked and accept the one that best resolved your issue!
Tony Andrews