2010-01-20 9 views
9

He cola un archivo antes de ejecutar el comando de abajo y consiguió la salida como esta,Borrar el epígrafe de Oracle carrete

He conjunto de irse, la retroalimentación de

conjunto de irse realimentación definido OFF SPOOL D: \ TEST.TXT SELECCIONAR SYSDATE FROM DUAL; carrete fuera

SALIDA en PRUEBA.TXT:

SQL> SELECT SYSDATE de la doble;

20-ENE-09

SQL> carrete fuera

¿Cómo puedo eliminar las dos líneas de SQL>. Solo quiero la salida.

Gracias de antemano.

Respuesta

14

El comando que necesita es:

SET ECHO OFF 

Sin embargo, sólo funciona para ejecutar código de secuencias de comandos, no orden introducida de forma interactiva. Para ello se crea un archivo de script como el siguiente (por ejemplo, llama test.sql):

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

A continuación, en SQL Plus ejecutarlo así:

SQL> @test 

añadí PAGESIZE 0 al comando SET para elimine la línea en blanco que de otro modo obtendría antes de la fecha en el archivo de salida.

+0

Gracias Tony, tu idea funciona. Y benjamin gracias por tus guiones. Cheers, Seenu. –

+0

Siéntase libre de apoyar cualquier respuesta que le haya gustado y ¡acepte la que mejor resolvió su problema! –

4

uso esto:

#!/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

No, muestra lo mismo. Encuentre la salida SQL> SELECCIONE EL SISTEMA DE DUAL; 20-JAN-10 SQL> SPOOL OFF –

+0

comprobar ahora con la respuesta modificada – Vijay

+1

+ Esta solución no ajusta o trunca las líneas. Eso es lo que estaba buscando. –