下面是我的控制文件例如:变量可以通过sqlldr命令传递给SQL * Loader控制文件吗?
OPTIONS (skip=1,errors=1000,direct=true,rows=10000)
load data
append
into table TABLE_NAME
fields terminated by ','
OPTIONALLY ENCLOSED BY '"'
trailing nullcols(
DATE_ID DATE_ID_VALUE,
DESC1 char(1000),
DESC2 char(1000),
DISP_URL char(1000),
DEST_URL char(1000),
ACCT_ID ACCOUNTID_VALUE,
Acct_num ACCOUNT_NUM,
created_date SYSDATE
)
我需要通过DATE_ID_VALUE,ACCOUNTID,从SQLLDR命令ACCOUNTNUM值。我通过csv文件传递了从sqlldr“DATA”参数传递的内容。有没有办法通过sqlldr命令或其他任何方式来传递其他必需的参数?
下面是我的SQLLDR命令:
sqlldr userid=abc/[email protected] CONTROL= cont.ctl DATA= $csvFilePath LOG=admaster.log BAD=admaster.bad
您可以在调用SQLLoader之前即时创建自定义的控制文件 –
我不想为每个上传创建新的控制文件,所以我决定让它参数化... –
尽管你不能让它参数化@arul ...所以你将不得不做不同的事情。如果你想添加一个常量,为什么不只是在表上创建一个视图或者在应用程序中选择这些数据。没有必要将它添加到ctl文件中。 – Ben