使用 sql 加载器加载表时跳过前 2 行

use*_*109 4 controls file sql-loader

目前我的控制文件如下:

Load data
Infile '/.../../emp*.txt'
Append into table emp_load
When (emp_id <> 'emp_id')
Fields terminated by "," optionally enclosed by ' " '
Trailing nullcols
(Emp_id "TRIM(:EMP_ID)",
EMP_NAME "TRIM(:EMP_NAME)",
SAL "TRIM(:SAL)"
)
Run Code Online (Sandbox Code Playgroud)

当前输入文件:

Emp_id,emp_name,sal
1,A,100
2,B,200
Run Code Online (Sandbox Code Playgroud)

我现在有另一个要求,其中输入文件将包含 2 个标头,并且类似于

/folder1/folder2/file1_<date>.csv
Emp_id,emp_name,sal
1,A, 100
2,B,200
...
Run Code Online (Sandbox Code Playgroud)

同样,我将有多个输入文件......

您能帮我处理这种情况的控制文件吗?

Gar*_*y_W 8

您需要 SKIP=2 OPTIONS 子句。

OPTIONS (SKIP=2) 
Load data
Infile '/.../../emp*.txt'
Append into table emp_load
When (emp_id <> 'emp_id')
Fields terminated by "," optionally enclosed by ' " '
Trailing nullcols
(Emp_id "TRIM(:EMP_ID)",
EMP_NAME "TRIM(:EMP_NAME)",
SAL "TRIM(:SAL)"
)
Run Code Online (Sandbox Code Playgroud)

请参阅此处了解更多信息:https://docs.oracle.com/cd/B28359_01/server.111/b28319/ldr_control_file.htm#i1004816