任何人都能告诉我SQL Loader中Insert和Append语句之间的区别吗?请考虑以下示例: 这是我的控制文件
load_1.ctl
load data
infile 'load_1.dat' "str '\r\n'"
insert*/+append/* into table sql_loader_1
(
load_time sysdate,
field_2 position( 1:10),
field_1 position(11:20)
)
这是我的数据文件
load_1.dat
0123456789abcdefghij
**********##########
foo bar
here comes a very long line
and the next is
short
答案 0 :(得分:7)
documentation相当清楚;当您加载到空表时使用INSERT
,并且在向(可能)包含数据(您想要保留)的表中添加行时使用APPEND
。
APPEND
仍然有效。如果您期望表为空,INSERT
可能会更安全,因为如果不是这样会出错,可能会避免意外结果(特别是如果您没有注意到并且没有得到其他错误唯一索引约束违规)和/或后载数据清理。
答案 1 :(得分:-3)
差异有两点明确:
附加你的数据和表应该有相同的列意味着在行级而不是列级插入数据
如果你的表有数据,如果它是空的那么你也不能使用insert,那么只有你可以使用insert。
希望有所帮助