【问题标题】:How to spool in Oracle properly如何正确地在 Oracle 中进行假脱机
【发布时间】:2015-06-22 17:57:00
【问题描述】:

我创建了一个假脱机命令来将数据从 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

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

【问题讨论】:

  • 我已经更新了我的答案,现在您只需一步即可完成。 SET UNDERLINE OFF。请将其标记为已回答。

标签: sql oracle csv sqlplus


【解决方案1】:

有两种方法-

  1. 关闭下划线

例如,

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 的自定义列标题

您需要将 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-19
    • 1970-01-01
    相关资源
    最近更新 更多