如何正确地在Oracle中假脱机

时间:2015-04-16 11:05:40

标签: sql oracle csv sqlplus

我创建了一个假脱机命令,用于将数据从Oracle导出到csv中。文件。这是:

    set echo off
    set verify off
    set feedback off
    set heading on
    set termout on
    set pages 50000
    set newpage none
    spool Y:\Marketing\Nick\OptivoList\test.csv
    Select EMAIL || ',' || ',' || GENDER
    from Email_test;
    spool off;
    exit;

它创建类似的输出:

EMAIL,GENDER
-----------------
test1@test.com, M
test2@test.com, W
test3@test.com, M

问题 - 如何摆脱标题和数据之间的'----------'输出?

1 个答案:

答案 0 :(得分:3)

有两种方式 -

  1. 设置下划线
  2. 例如,

    SQL> set underline off
    SQL> select empno, ename from emp;
    
         EMPNO,ENAME
          7369,SMITH
          7499,ALLEN
          7521,WARD
          7566,JONES
          7654,MARTIN
          7698,BLAKE
          7782,CLARK
          7788,SCOTT
          7839,KING
          7844,TURNER
          7876,ADAMS
          7900,JAMES
          7902,FORD
          7934,MILLER
    
    14 rows selected.
    
    SQL>
    
    1. 自定义列标题,页面大小为0
    2. 您需要将 pagesize 设置为零。这将取消列标题并重复列标题。然后,使用 UNION ALL 语句应用自定义列名称

      例如,

      SQL> set pagesize 0
      SQL> SELECT 'EMPNO' ||' , '|| 'ENAME' FROM DUAL
        2   UNION ALL
        3   SELECT EMPNO||' , '||ENAME FROM EMP
        4   /
      EMPNO , ENAME
      7369 , SMITH
      7499 , ALLEN
      7521 , WARD
      7566 , JONES
      7654 , MARTIN
      7698 , BLAKE
      7782 , CLARK
      7788 , SCOTT
      7839 , KING
      7844 , TURNER
      7876 , ADAMS
      7900 , JAMES
      7902 , FORD
      7934 , MILLER
      
      15 rows selected.
      
      SQL>