oracle策略,oracle 控制文件策略

数据仓库中数据文件加载至ODS贴源层是通过SQLLDR方式加载的,加载策略是通过CTL控制文件来实现的,CTL控制文件内容举例如下:

load data

characterset ZHS16GBK

into table O_CZZZ_GLS_GL_SUB_DAY

append

fields terminated by ','

optionally enclosed by '"'

trailing nullcols

(

BR_NO "trim(:BR_NO)",

ACC_CODE "trim(:ACC_CODE)",

CUR_NO "trim(:CUR_NO)",

ACC_HRT "trim(substr(:ACC_HRT,1,5))",

TX_DATE "trim(:TX_DATE)",

DC_IND "trim(:DC_IND)",

UP_ACC_HRT "trim(substr(:UP_ACC_HRT,1,5))",

DR_BAL "trim(:DR_BAL)",

CR_BAL "trim(:CR_BAL)",

LDD_BAL "trim(:LDD_BAL)",

LCD_BAL "trim(:LCD_BAL)",

RDD_CNT "trim(:RDD_CNT)",

RCD_CNT "trim(:RCD_CNT)",

RDD_AMT "trim(:RDD_AMT)",

RCD_AMT "trim(:RCD_AMT)",

CDD_CNT "trim(:CDD_CNT)",

CCD_CNT "trim(:CCD_CNT)",

CDD_AMT "trim(:CDD_AMT)",

CCD_AMT "trim(:CCD_AMT)",

CYC_TYPE "trim(:CYC_TYPE)",

CHG_DATE "trim(:CHG_DATE)",

CYC_NO "trim(:CYC_NO)"

)

这个CTL文件只是append,那么如果这个脚本运行两次就会出现数据翻倍情况,所以应该在append之前先delete当日数据,虽然我知道delete当日数据可以在sh中用一句话来搞定,但是毕竟脚本太多,sh中更多的用变量完成这些事情。所以问题来了,如何在ctl文件中删除当日数据呢?

请各位不吝赐教,万分感谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值