正确格式的线轴

时间:2018-03-21 11:17:14

标签: sql oracle unix spool

我有一个sql文件,下面提到过,当我从sqlplus执行时,它不会打印列名,而选择输出也会在多行中打印。

SET head OFF;
SET feedback OFF
SET verify OFF
SET echo OFF
SET termout OFF
SET colsep '|'
SET LINES 5000
SET LINESIZE 5000
SET PAGES 0
SET PAGESIZE 5000
SET TRIMSPOOL ON

SELECT '1 -- Validating emp entries ' from dual;

SELECT 'SELECT emp_name,emp_no,manager
  FROM emp;' FROM DUAL;

SELECT 'EXPECTED VALUE = 1 from emp' from dual;

SELECT 'Actual count from emp'||' = '||count(*)
  FROM emp;

SELECT emp_name,emp_no,manager
  FROM emp;

有人可以帮我打印输出,如下所述

1 -- Validating emp entries

SELECT *
 FROM emp;

EXPECTED VALUE = 1 from emp

Actual count from emp = 1

EMP_NAME     |EMP_NO |MANAGER

--------      ------  -------

Thomas Albert|12     |SAM

即使列宽更大,它也应符合列的最大值。

1 个答案:

答案 0 :(得分:0)

如果你想让空格关闭,那么

EMP_NAME     |EMP_NO |MANAGER
--------      ------  -------
Thomas Albert|12     |SAM

变为

EMP_NAME|EMP_NO|MANAGER
Thomas Albert|12|SAM

在SQL * Plus 12.2中,您可以set markup csv,或者SQL Developer有类似的东西。

如果你不能使用它们,你将不得不编写自己的解析器。这是我的: http://www.williamrobertson.net/documents/refcursor-to-csv.shtml