2011-01-21 20 views
6

Mi chiedo se non ci siano trucchi per ottenere trimspool solo per tagliare gli spazi bianchi finali a destra.Trimspool Oracle solo spazi finali finali (non spazi vuoti iniziali)

Ho codice che utilizza dbms_output.put_line per stampare sulla console e l'output ha spesso indentazione per rendere più facile la scansione con gli occhi. Ho impostato la larghezza della linea piuttosto grande per rendere più facile la lettura di alcuni output, quindi ho anche impostato il trimpool per eliminare lo spazio bianco extra. L'unico problema è che ora il leader che viene rimosso lo spazio e gli spazi bianchi finali. C'è un modo per risolvere questo problema? Potrei aggiungere un carattere iniziale (prima dello spazio bianco iniziale) "." ad alcune delle istruzioni di output, ma non sono autorizzato a modificare il codice nella maggior parte dei pacchetti.


Qui è quello che emette senza trimmimg:

 
level 1       (EOL) 
    level 2      (EOL) 
     Some data     (EOL) 

Qui è quello che attualmente uscite con trimspool on:

 
level 1(EOL) 
level 2(EOL) 
Some data(EOL) 

Ecco quello che voglio:

 
level 1(EOL) 
    level 2(EOL) 
     Some data(EOL) 
+2

+1, la gestione dell'output di spazi bianchi in SQL * Plus è fonte di continua confusione per me. – DCookie

risposta

8

Immagino tu sia a poppa er

set serveroutput on size 100000 format wrapped 

se capisco la tua domanda.

Se faccio questo:

set serveroutput on size 1000000 

begin 
    dbms_output.put_line('no indent'); 
    dbms_output.put_line(' indent'); 
end; 
/

SQL * Plus uscite:

no indent 
indent 

Se, invece, lo faccio

set serveroutput on size 1000000 format truncated 

begin 
    dbms_output.put_line('no indent'); 
    dbms_output.put_line(' indent'); 
end; 
/

SQL * Plus uscite:

no indent 
    indent 

È necessario set trimspool on per eliminare gli spazi fino a eol.

+0

'set servoutput on size 100000 format wrapped' ripristina gli spazi bianchi sulla sinistra, ma ora ci sono molti spazi bianchi sulla destra (il filesize ora è quasi raddoppiato). 'imposta servoutput su formato 1000000 troncato' tronca alcune delle linee di output (non buono). – FrustratedWithFormsDesigner

+0

Funziona con me se ho anche impostato 'trimspool on'. –

+2

sì, la combinazione magica sembra essere "imposta servoutput su formato 100000 in formato avvolto" con "set trimspool on". Grazie! – FrustratedWithFormsDesigner

Problemi correlati