从Oracle发送假脱机数据

时间:2018-01-19 12:38:00

标签: database oracle oracle11g sqlplus

在通过unix从Oracle调整数据时,我以非结构化的方式获取数据,而我希望以表格格式以列名或逗号分隔格式在文件中写入输出。

1 个答案:

答案 0 :(得分:0)

如果您要从SQL * Plus进行假脱机,请尝试设置以下可能产生漂亮结果的选项(它是OraFAQ Forum上提供的调整版Michel Cadot)

[编辑] 直播示例:

为了避免SELECT语句成为假脱机文件的一部分,我将所有内容保存到EMPS.SQL文件中,并从SQL提示符运行它。

EMPS.SQL文件的内容:

set termout off 
set trimspool on 
set echo off 
set verify off 
set autoprint off 
set serveroutput off 
set arraysize 1000 
set pagesize 0
set linesize 100
set long 10000
set numwidth 10
set feedback off
set colsep ';'
col empno format 99999
col ename format a10
col sal format 999G990
spool emps.txt
select empno, ename, sal from emp;
spool off

执行和结果:

SQL> @emps
SQL>
SQL> $type emps.txt
  7839;KING      ;   5.000
  7698;BLAKE     ;   2.850
  7782;CLARK     ;   2.450
  7566;JONES     ;   2.975
  7788;SCOTT     ;   3.000
  7902;FORD      ;   3.000
  7369;SMITH     ;     800
  7499;ALLEN     ;   1.600
  7521;WARD      ;   1.250
  7654;MARTIN    ;   1.250
  7844;TURNER    ;   1.500
  7876;ADAMS     ;   1.100
  7900;JAMES     ;     950
  7934;MILLER    ;   1.300

SQL>