如何在 Oracle 外部 table 中包含逗号
How to include commas in Oracle external table
我有一个竖线分隔的文件,在最后一个字段中包含逗号,如下所示:
COLOR|CAT|CODES
Red|Pass|tiger, 12@fol, letmein
Blue|Pass|jkd@332, forpw, wonton
Gray|Pass|rochester, tommy, 23$ai,
我用空格终止最后一列,一切正常,没有错误,只是它只会 include/read 最后一列中的第一个值和第一个逗号,例如tiger、jkd@332 等显然是因为逗号后面的空格。
如何在不出现任何错误的情况下包含逗号?我尝试了 " "
、/r
、/n
、/r/n
,甚至在最后一列中排除了 "terminated by"
,虽然这些可以包含逗号,每次我 select 全部来自外部 table(包含数千条记录)时,我都会收到 ORA-29913
和 ORA-30653
拒绝错误。
我的拒绝限制为 10
,但我不想将其更改为 UNLIMITED
,因为我不想忽略这些错误,而且我无法更改文件。
我的代码:
--etc..
FIELDS TERMINATED BY '|'
OPTIONALLY ENCLOSED BY '"'
MISSING FIELD VALUES ARE NULL
--etc..
CODES CHAR TERMINATED BY WHITESPACE
方法如下:
SQL> create table color (
2 color varchar2(5),
3 cat varchar2(5),
4 codes varchar2(50)
5 )
6 organization external (
7 type oracle_loader
8 default directory ext_dir
9 access parameters (
10 records delimited by newline
11 skip 1
12 fields terminated by '|'
13 missing field values are null
14 (
15 color char(5),
16 cat char(5),
17 codes char(50)
18 )
19 )
20 location ('color.txt')
21 )
22 parallel 5
23 reject limit unlimited;
SQL>
SQL> select * From color;
COLOR CAT CODES
----- ----- --------------------------------------------------
Red Pass tiger, 12@fol, letmein
Blue Pass jkd@332, forpw, wonton
Gray Pass rochester, tommy, 23$ai,
SQL>
我有一个竖线分隔的文件,在最后一个字段中包含逗号,如下所示:
COLOR|CAT|CODES
Red|Pass|tiger, 12@fol, letmein
Blue|Pass|jkd@332, forpw, wonton
Gray|Pass|rochester, tommy, 23$ai,
我用空格终止最后一列,一切正常,没有错误,只是它只会 include/read 最后一列中的第一个值和第一个逗号,例如tiger、jkd@332 等显然是因为逗号后面的空格。
如何在不出现任何错误的情况下包含逗号?我尝试了 " "
、/r
、/n
、/r/n
,甚至在最后一列中排除了 "terminated by"
,虽然这些可以包含逗号,每次我 select 全部来自外部 table(包含数千条记录)时,我都会收到 ORA-29913
和 ORA-30653
拒绝错误。
我的拒绝限制为 10
,但我不想将其更改为 UNLIMITED
,因为我不想忽略这些错误,而且我无法更改文件。
我的代码:
--etc..
FIELDS TERMINATED BY '|'
OPTIONALLY ENCLOSED BY '"'
MISSING FIELD VALUES ARE NULL
--etc..
CODES CHAR TERMINATED BY WHITESPACE
方法如下:
SQL> create table color (
2 color varchar2(5),
3 cat varchar2(5),
4 codes varchar2(50)
5 )
6 organization external (
7 type oracle_loader
8 default directory ext_dir
9 access parameters (
10 records delimited by newline
11 skip 1
12 fields terminated by '|'
13 missing field values are null
14 (
15 color char(5),
16 cat char(5),
17 codes char(50)
18 )
19 )
20 location ('color.txt')
21 )
22 parallel 5
23 reject limit unlimited;
SQL>
SQL> select * From color;
COLOR CAT CODES
----- ----- --------------------------------------------------
Red Pass tiger, 12@fol, letmein
Blue Pass jkd@332, forpw, wonton
Gray Pass rochester, tommy, 23$ai,
SQL>