如何以格式化的方式在文件中存储sqlplus查询并将其显示为控制台投票

时间:2015-06-01 08:44:33

标签: shell sqlplus

我正在尝试编写一个脚本,该脚本将连接到数据库并以格式化方式将查询输出存储在文件中

我的预期文件如下所示:

LAST                         MONTHLY
NAME                          SALARY  COMMISSION
------------------------- ----------  ----------
Russell                        14000         .4
Partners                       13500         .3
Errazuriz                      12000         .3
Cambrault                      11000         .3
Zlotkey                        10500         .2

到目前为止,我已经尝试过了。

sqlplus user/password@(TNS Entry) << EOF
SET head OFF;
SET feed OFF;
SET trimspool ON;
SET linesize 32767;
SET pagesize 32767;
SET echo OFF;
SET termout OFF;
SET verify OFF;
SET NEWPAGE NONE;
SET verify off;
spool file_name.csv
select * from Customer;
spool off

EXIT;
EOF

我正在尝试将CS​​V文件显示到控制台。但是,它不是格式化的风格。

我怎样才能实现这个目标?

1 个答案:

答案 0 :(得分:0)

您需要自己添加分隔符,例如

sqlplus user/password@(TNS Entry) << EOF
SET head OFF;
SET feed OFF;
SET trimspool ON;
SET linesize 32767;
SET pagesize 32767;
SET echo OFF;
SET termout OFF;
SET verify OFF;
SET NEWPAGE NONE;
SET verify off;
spool file_name.csv
select last_name  || ',' || monthly_salary || ',' || commission from customer;
spool off

EXIT;
EOF

或者您可以添加

set colsep , 

改为你的剧本。