txt tamaño salida reportes fichero exportar example enviar comando columna column archivo sql oracle sqlplus column-width

tamaño - cómo aumentar la longitud de salida de la columna sqlplus?



sqlplus title example (9)

Acabo de usar el siguiente comando:

SET LIN[ESIZE] 200

(de http://ss64.com/ora/syntax-sqlplus-set.html ).

Esto funciona bien, pero debes asegurarte de que la ventana de tu consola sea lo suficientemente amplia. Si está utilizando SQL Plus directamente desde el símbolo del sistema de MS Windows, la ventana de la consola automáticamente ajustará la línea a lo que esté configurada la propiedad " Ancho del ancho del búfer de pantalla", independientemente de cualquier especificación SQL Plus LINESIZE .

Como sugiere @simplyharsh, también puede configurar columnas individuales para mostrar anchos establecidos, usando COLUMN col_name FORMAT Ax (donde x es la longitud deseada, en caracteres) - esto es útil si tiene una o dos columnas extra grandes y desea para mostrar un resumen de sus valores en la pantalla de la consola.

Tengo algunas consultas para descubrir el ddl de algunos objetos de un esquema. Estoy obteniendo el resultado; las columnas se truncan en medio de las consultas.

¿Cómo puedo aumentar el nivel de la columna?

Lo intenté con

SET SERVEROUTPUT ON SIZE 1000000; SET LINESIZE 50000; set pagesize 50000; set long 50000;

Pero, aún obteniendo el mismo resultado.

Cualquier ayuda de hecho.

Gracias


Además de configurar LINESIZE, como sugirió LordScree, también podría especificar que salga a un archivo para solucionar el problema con el ancho de la consola. Así es como lo hago:

set linesize 15000; spool myoutput.txt; SELECT ... spool off;


En Linux, prueba estos:

set wrap off set trimout ON set trimspool on set serveroutput on set pagesize 0 set long 20000000 set longchunksize 20000000 set linesize 4000


En Windows puedes probar esto:

  • haga clic derecho en la ventana sqlplus
  • seleccionar propiedades -> diseño
  • aumentar el ancho del tamaño del búfer de pantalla a 1000

En realidad, incluso eso no funcionó para mí. Cuando ejecuté "seleccione dbms_metadata.get_ddl (''TABLESPACE'', ''TABLESPACE_NAME'') desde dual;" Nuevamente obtuve solo las primeras tres líneas, pero esta vez cada línea estaba acolchada a 15,000 caracteres. Pude solucionar esto con:

select substr(dbms_metadata.get_ddl(''TABLESPACE'',''LM_THIN_DATA''),80) from dual; select substr(dbms_metadata.get_ddl(''TABLESPACE'',''LM_THIN_DATA''),160) from dual; select substr(dbms_metadata.get_ddl(''TABLESPACE'',''LM_THIN_DATA''),240) from dual;

Seguramente parecía que debería haber una manera más fácil, pero no pude encontrarlo.


Esta configuración funciona para mí:

set termout off set verify off set trimspool on set linesize 200 set longchunksize 200000 set long 200000 set pages 0 column txt format a120

La definición de formato de column con la opción de linesize ayudó a evitar el truncamiento a 80 caracteres.


Lo que uso:

set long 50000 set linesize 130 col x format a80 word_wrapped; select dbms_metadata.get_ddl(''TABLESPACE'',''LM_THIN_DATA'') x from dual;

¿O me estoy perdiendo algo?


Ninguna de estas sugerencias funcionaba para mí. Finalmente encontré algo más que podía hacer: dbms_output.put_line . Por ejemplo:

SET SERVEROUTPUT ON begin for i in (select dbms_metadata.get_ddl(''INDEX'', index_name, owner) as ddl from all_indexes where owner = ''MYUSER'') loop dbms_output.put_line(i.ddl); end loop; end; /

Auge. Imprimió todo lo que quería, sin truncar ni nada de eso. Y eso funciona directamente en sqlplus , sin necesidad de ponerlo en un archivo separado ni nada.


Prueba esto

COLUMNA col_name FORMAT A24

donde 24 es tu ancho