SQL Loader中Insert和Append语句之间的区别?

Raj*_*r G 4 oracle sql-loader

任何人都能告诉我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)
     ) 
Run Code Online (Sandbox Code Playgroud)

这是我的数据文件

     load_1.dat
     0123456789abcdefghij
     **********##########
     foo         bar
     here comes a very long line 
     and the next is 
     short 
Run Code Online (Sandbox Code Playgroud)

Ale*_*ole 8

文档是相当明确; 使用INSERT当你加载到一个空表,并APPEND添加行到(可能)包含数据(要保留)表时.

APPEND如果你的桌子是空的,它仍然可以工作.INSERT如果你期望表是空的可能会更安全,因为如果不是这样会出错,可能会避免意外结果(特别是如果你没有注意到并且没有得到其他错误,如唯一索引约束违规)和/或后载数据清理.