假设你有一个表:可以将变量传递给SQL * Loader控制文件吗?
CREATE TABLE Customer
(
batch_id NUMBER,
customer_name VARCHAR2(20),
customer_address VARCHAR2(100)
)
而且假设你有一个控制文件来填充这个表:
LOAD DATA INFILE 'customers.dat' REPLACE INTO TABLE Customer ( batch_id ??????, customer_name POSITION(001:020), customer_address POSITION(021:120) )
是否有可能为batch_id
的值传递给我的控制文件,当我运行使用SQL * Loader?例如,是否可以指定绑定变量(将问号转为:MY_AWESOME_BATCH_ID
)?
不错。如果您希望函数为Loader的每次运行执行一个新的批处理,请将其放入一个包中,并使其返回一个包变量,该变量在第一次调用时将被初始化(例如,按顺序)。 – 2010-09-22 13:21:40
在启动sqlloader之前,您可能还决定在脚本中实时重新创建函数。 – 2010-09-22 14:00:25