我目前正在通过这个sqlplus脚本假冒管道文件:
set feedback off
set echo off
set verify off
set pagesize 0
set heading off
set termout off
set trim on
set wrap on
set trimspool on
set linesize 9000
spool c:\exp3.txt
select
to_char(D_DTM, 'mm-dd-yyyy hh24.mi.ss')||'|'||
DAYOFWEEK||'|'||"24HOUR"||'|'||TECHNOLOGY||'|'||VOICEDATA||'|'||MRKT_NM||'|'||REGION_NM||'|'||CLUSTER_NM||'|'||
CLUSTER2_NM||'|'||BSC_NM||'|'||BTS_ID||'|'||BSC_BTS||'|'||CSCD_ID||'|'||CSCD_NM||'|'||SECT_SEQ_ID||'|'||BND_ID||'|'||
FA_ID||'|'||ATT_CNT||'|'||AXS_F_CNT||'|'||CE_BLK_CNT||'|'||CUST_BLK_CNT||'|'||DRP_CALL_CNT||'|'||HHI_ATT_CNT||'|'||
HHI_BAFRM_CNT||'|'||HHI_CALL_SETUP_SXS_CNT||'|'||MBL_ORG_CNT||'|'||MBL_TER_CNT||'|'||NON_BTS_EQ_BLK_CNT||'|'||
PRIM_CALL_ERL||'|'||PWR_BLK_CNT||'|'||SFUL_CALL_CNT||'|'||SILENT_RETRY_CNT||'|'||T1_BHL_BLK_CNT||'|'||WCD_BLK_CNT||'|'||
SMS_ATT_CNT||'|'||SMS_SXS_CNT||'|'||CTRL_CH_USG_CNT||'|'||CTRL_SL_USG_CNT||'|'||DO_SECT_PHL_FWD_PS_TMS||'|'||
DO_SECT_PHL_REV_PS_TMS||'|'||EUSR_CONN_SETUP_ATT_CNT||'|'||EUSR_CONN_SETUP_F_CNT||'|'||FWD_D_TRANSD_QTY||'|'||
MAC_ID_BLK_CNT||'|'||MAC_ID_UTIL_RT||'|'||MS_RQST_CNT||'|'||MS_RQST_D_QTY||'|'||NORM_CONN_CLS_CNT||'|'||
NORM_SESS_RLS_CNT||'|'||RAB_SET_CNT||'|'||RCVD_RAB_CNT||'|'||REV_AIR_PER_BAD_FRM_CNT||'|'||REV_AIR_PER_TRSF_D_QTY||'|'||
REV_D_TRANSD_QTY||'|'||RNC_BLK_CNT||'|'||SESS_ATT_CNT||'|'||SESS_CONF_SXS_CNT||'|'||SL_USG_CNT||'|'||MAX_USER_CNT||'|'||
AVG_USER_CNT||'|'||MOU_TMS||'|'
from ds3r_fh_all_fa_lvl_kpi
where D_DTM = to_date('8/19/2013', 'mm/dd/yyyy');
但我无法弄清楚如何将列名作为标题包含在文件中。我该怎么做?
答案 0 :(得分:4)
set heading on
set pagesize 0 embedded on
答案 1 :(得分:2)
您应该将pagesize
设置为非零数字,以便显示标题。您设置的数字可能取决于您拥有的行数。如果将其设置为100
set pagesize 50000
然后将在标题下打印100行,然后在接下来的100行中重复列标题。 50000中提到的最大值。同时将heading
设置为打开为
set heading on
否则它不会显示标题,尽管页面大小不为零。还要记住,当您以这种方式选择列时,它们将不会被填充,因此标题可能显得不合适。
答案 2 :(得分:0)
将pagesize设置为0将关闭sql * plus中的列标题。
尝试将其设置为50000
set pagesize 50000
我认为这是最大的(我可能错了!)
答案 3 :(得分:0)
.sql文件顶部的设置工作正常。
设置pagesize 50000
设置标题
答案 4 :(得分:0)
设置
中嵌入的pagesize 0在假脱机后添加上面的行
答案 5 :(得分:0)
我会建议你一个更聪明的解决方案,因为我一直在研究这个问题。您可以使用自己的文本创建它,而不是让我看起来不是一个非常好的解决方案。 简单地添加一个SELECT和UNION就可以很好地完成这个任务:
insert into MY_TABLE
values ( ... )
returning ID_COLUMN into :my_host_variable
希望这会有所帮助。