varchar2字段中的多行文本

时间:2012-10-03 11:15:24

标签: oracle plsql oracle11g plsqldeveloper

我有一个多行日期,我想将其插入表中。当然,我想在保留墨盒返回位置的同时检索它。

例如。我在文本文件中有这样的数据

-------------------------------
| ID  |   text                |
|     |                       |
| 01  |  This is headline.    |
| 02  |  This is all the text.|
|     |  ¤                    |
|     |  Of great story once  |
| 03  |  Great weather        |
-------------------------------

¤是墨盒返回的指示。当我尝试运行查询时,数据如下所示:

-------------------------------
| ID  |   text                |
|     |                       |
| 01  |  This is headline.    |
| 02  |  This is all the text.|
| 03  |  Great weather        |
-------------------------------

我想在表格中提到:(我不知道如何在下面的示例中显示墨盒返回)

-----------------------------------------------------
| ID  |   text                                      |
|     |                                             |
| 01  |  This is headline.                          |
| 02  |  This is all the text. Of great story once  |
| 03  |  Great weather                              |
-----------------------------------------------------

当然,这是错误的,因为ID 02的数据未完全导入。

这是我的剧本:

LOAD DATA
INFILE "file.txt" BADFILE "file.bad" DISCARDFILE "file.dsc"
APPEND
INTO TABLE text_table
FIELDS TERMINATED BY X'7C' TRAILING NULLCOLS
(
    employee_id,           
    exp_pro CHAR(4000)
)

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

首先确保问题不在于您如何查看数据(或使用的IDE)。有时观众只会停在换行符(或回车符或某些二进制字符)上。

首先尝试转储某些数据的十六进制表示。例如:

with txt as (
select 'This is line 1.' || chr(13) || chr(10) || 'Line 2.' as lines
from dual
)
select dump(txt.lines, 16) from txt;

你应该能够看到0d0a(crlf)字符,或者其他任何“不可打印”的字符,如果有的话。