我有一个位置分隔的文本文件,我必须通过Oracle外部表读取。在该位置分隔文件I字段作为名称以逗号分隔。例如:
123 abc,def 456.所以我必须将数据插入3列。 Fisrt列将具有123,第二列将具有abc,def和第三列将具有456.在访问参数中,我已经给出了由换行符#34;分隔的"记录。但是从外部表中选择数据时,它只在逗号(abc)之前提供数据。但我想读abc,def。有人可以帮我吗?
答案 0 :(得分:0)
以下适用于我;
CREATE TABLE test
(
col_1 NUMBER,
col_2 VARCHAR2(30),
col_3 NUMBER
)
ORGANIZATION EXTERNAL
( TYPE ORACLE_LOADER
DEFAULT DIRECTORY MY_DIR
ACCESS PARAMETERS
( RECORDS DELIMITED BY '\r\n'
FIELDS TERMINATED BY ' '
OPTIONALLY ENCLOSED BY '"'
MISSING FIELD VALUES ARE NULL
( col_1, col_2, col_3
)
)
LOCATION (MY_DIR:'test.txt')
)
REJECT LIMIT UNLIMITED;
请记住" / r / n'""'可能是Windows特有的,但我的结果如下;
SQL> select * from test
2 /
COL_1 COL_2 COL_3
---------- ------------------------------ ----------
123 ABC,DEF 123
789 ABCD,EF 123
456 A,B,C,DEF 123