暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 具有多个行值的单个字段。提取文件中的问题。

askTom 2016-07-26
246

问题描述



每次我遇到一些问题时,请提供帮助。下面给出了测试用例

创建表AA
(
Id号不为空,
名称VARCHAR2(80字节) 不为NULL,
银行地址 VARCHAR2(1000字节)
);

插入AA值
(1,'MGR','ICICI银行
芒特路
钦奈);

插入AA值
(2,“西瓦吉”,“履行机构”
安娜路
钦奈);

插入AA值
(3,“kabali”,“rbs olympia GUINDY chennai”);

-存储在数据库中的数据与现在一样。

从AA中选择 *;
使用SQLPLUS/login在UNIX服务器中显示的输出
=
ID名称银行 _ 地址
----------------------------------
1经理履行机构
安娜路
钦奈
2西瓦吉ICICI银行
芒特路
钦奈
3卡巴利RBS奥林匹亚GUINDY CHENNAI

我已经创建了假脱机文件查询

aa.sql
将TRIMSPOOL设置在
设置修剪
出发
关闭反馈
设置LINESIZE 10000
设置PAGESIZE 0
设定期限
设置回声关闭
设置长10000

假脱机local_path/bank_aa.txt
从对偶中选择 “hdr.AA.” | | to_char(sysdate,'yyyymmddhh24miss ');
选择不同的
ID | | '|
名称 | | '|
银行地址
来自AA
联盟全部
从AA中选择 “trl.AA.” | | 计数 (*);
线轴关闭;
退出;

我已收到了像这样的bank_aaa.txt文件。

HDR.AA.20160726130606
1 | 经理 | SBI
安娜路
钦奈
2 | 西瓦吉 | ICICI银行
芒特路
钦奈
3 | 卡巴利 | 苏格兰皇家银行奥林匹亚金迪·钦奈
TRL.AA.3

总数据为3,但提取文件有7个数据线。使用此提取文件,我无法将数据加载到目标数据库中。

我需要如下所示的输出文件
HDR.AA.20160726130606
1 | MGR | SBI ANNA ROAD钦奈
2 | SIVAJI | ICICI BANK 芒特路钦奈
3 | 卡巴利 | 苏格兰皇家银行奥林匹亚金迪·钦奈
TRL.AA.3

你能帮忙吗

谢谢
Partheeban.J





专家解答

你有一个选择:

-更改输出,使换行符消失
-保留换行符,但更改SQL * Loader脚本以正确处理这些换行符。

要执行第一个操作,只需适当替换CR/LF字符:
drop table t purge;
create table aa (
    id number not null, name varchar2 ( 80 byte ) not null, 
    bank_address varchar2 ( 1000 byte )
  ) ;
insert into aa values
  ( 1,'MGR', 'ICICI BANK
MOUNT ROAD
CHENNAI'
  ) ;
insert into aa values
  ( 2,'SIVAJI', 'SBI
ANNA ROAD
CHENNAI'
  ) ;
insert into aa values
  ( 3,'KABALI', 'RBS OLYMBIA GUINDY CHENNAI'
  ) ;

SELECT 'HDR.AA.' || to_char(sysdate,'YYYYMMDDHH24MISS') from dual;

SELECT distinct ID ||'|'||NAME ||'|'||replace(replace(BANK_ADDRESS, chr(10), ' '), chr(13)) 
FROM AA;

ID||'|'||NAME||'|'||REPLACE(REPLACE(BANK_ADDRESS,CHR(10),''),CHR(13))  
1|MGR|ICICI BANK MOUNT ROAD CHENNAI                                    
3|KABALI|RBS OLYMBIA GUINDY CHENNAI                                    
2|SIVAJI|SBI ANNA ROAD CHENNAI


要执行第二个操作,请使用STR选项定义自定义 “记录结束” 分隔符:

http://gerardnico.com/wiki/sql_loader/carriage_return_in_text_field
https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:9529759800346052607
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论