如何在SQL加载的插入数据中包含分隔符,Oracle?


load data
infile 'c:oracle_toadsql_loaderv1_data.txt'
replace into table v1 fields terminated by ','
( a integer external, b char, c char )
1,2,"da,ta1" 
2,4,"dat,a2"
2,4,"da,ta2"
"" are not supposed to be inserted as a part of data. That's just for reference.

我故意在每个数据集中插入","。 我希望像这样插入 1、2、"da,ta1"<<<。有没有办法在数据集中包含分隔符","?

下面是一个示例:

测试表:

SQL> create table test (col1 number, col2 varchar2(20), col3 varchar2(20));
Table created.

控制文件:

load data 
infile *
replace
into table test
fields terminated by ',' optionally enclosed by '"'
trailing nullcols
(
col1,
col2,
col3
)
begindata
1,2,"da,ta1" 
2,4,"dat,a2"
2,4,"da,ta2"

加载会话和结果:

SQL> $sqlldr scott/tiger control=test04.ctl log=test04.log
SQL*Loader: Release 11.2.0.2.0 - Production on Pon Kol 27 14:11:26 2018
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
Commit point reached - logical record count 2
Commit point reached - logical record count 3
SQL> select * From test;
COL1 COL2                 COL3
---------- -------------------- --------------------
1 2                    da,ta1
2 4                    dat,a2
2 4                    da,ta2
SQL>

最新更新