我有一个以下格式的csv文件。第一列是id,第二列是name,第三列是dept。此文件中有700k行以上。我试图使用SQL Loader在oracle表中只移动部门10、90、30和70的详细信息。
100,AAA,10
101,BBB,10
102,CCC,20
103,DDD,30
104,EEE,40
105,FFF,50
106,GGG,70
107,HHH,60
108,III,20
109,JJJ,80
110,KKK,90
111,LLL,90
112,MMM,50
113,NNN,80
114,OOO,10
我的表格格式为:-
create table DEPT_LOADER(
ID NUMBER
,NAME VARCHAR2(100)
,DEPT number
);
下面是控制文件
load data
infile 'F:\SQL_Loader\dept.csv'
badfile 'F:\SQL_Loader\dept.bad'
discardfile 'F:\SQL_Loader\dept.dsc'
insert
into table DEPT_LOADER
when dept = '10' or dept = '90' or dept = '30' or dept = '70'
fields terminated by ','
(id,name,dept)
但oracle在when子句中不允许使用“or”运算符。我试过使用“in”子句,但得到了相同类型的错误。
SQL*Loader-350: Syntax error at line 7.
Expecting "(", found "or".
when dept = '10' or dept = '90' or dept = '30' or dept = '70'
请帮我一下。如何在控制文件中使用多个条件