我SEQUENCE
在 SQL Loader 控制文件中使用关键字来生成主键。但是对于一个特殊的场景我想Oracle sequence
在控制文件中使用。SQL Loader的Oracle 文档没有提到任何关于它的内容。SQL Loader 支持吗?
问问题
13624 次
3 回答
4
通过将序列切换为最后一列,我设法在不使用虚拟对象的情况下加载,如下所示:
LOAD DATA
INFILE 'data.csv'
APPEND INTO TABLE my_data
FIELDS TERMINATED BY ','
(
name char,
ID "MY_SEQUENCE.NEXTVAL"
)
和 data.csv 就像:
"dave"
"carol"
"tim"
"sue"
于 2015-11-30T15:26:24.720 回答
2
我已成功使用我的序列在运行Oracle 10g database
期间填充主键字段sqlldr
:
这是我的data.ctl:
LOAD DATA
INFILE 'data.csv'
APPEND INTO TABLE my_data
FIELDS TERMINATED BY ','
(
ID "MY_SEQUENCE.NEXTVAL",
name char
)
和我的data.csv:
-1, "dave"
-1, "carol"
-1, "tim"
-1, "sue"
出于某种原因,您必须在 CSV 文件中放置一个虚拟值,即使您认为sqlldr
这只是表明您想要使用序列。
于 2015-11-13T16:55:40.167 回答
1
我不这么认为,但您可以通过 on insert 触发器分配序列,除非这是直接路径加载。
于 2010-06-27T03:03:39.703 回答