码迷,mamicode.com
首页 > 数据库 > 详细

Sybase中的load table的用法

时间:2017-12-25 13:47:36      阅读:385      评论:0      收藏:0      [点我收藏+]

标签:mobile   com   option   upd   文件   bfc   内容   name   文件路径   

Sybase中的load table的用法

用sybase iq作为数据仓库的存储,确实有其独特的特点和优势,但是在数据ETL的时候,如果用insert、update方式,速度太慢,大概是2秒钟左右一条数据。好在iq提供了一条load语句来解决这个问题。

load语句的格式: 
[code]LOAD TABLE [ owner ].table-name
[ ( load-specification, ... ) ]FROM ‘filename-string‘, ...
[ FORMAT { ‘ascii‘ | ‘binary‘ } ]
... [ DELIMITED BY string ]
... [ STRIP { ON | OFF } ]
... [ QUOTES { ON | OFF } ]
... [ ESCAPES { ON | OFF } ]
[ ESCAPE CHARACTER character ] 
[ WITH CHECKPOINT ON|OFF ]
... [ load-options ][/code]

下面是从一个文本文件load到表F_INN_IA_DAILY_SUM中的语句:

set temporary option date_order=YMD;
Load Table F_INN_IA_DAILY_SUM
(
ORG_SID ‘+|+‘, 
DEAL_SID ‘+|+‘, 
ALL_TIME_SID ‘+|+‘, 
R_COUNT_DIM_SID ‘+|+‘, 
T_TAX_STOR_COST ‘+|+‘, 
T_STOR_COST ‘+|+‘, 
T_STOR_SUM ‘+|+‘, 
CREATED_DT ‘X0A‘
)
From ‘/load_data/F_Inn_IA_Daily_Sum.txt‘
ESCAPES OFF
QUOTES OFF
NOTIFY 100000
WITH CHECKPOINT ON;
COMMIT

其中+|+是字段的分隔符,X0A是记录的分隔符,即回车(文本文件中)。

例一:

1,文本文件的内容格式为:

abc|defgh|aaaa|bbbbbb|ccccc|ddddd|eeee|fffF
abc|defgh|aaaa|bbbbbb|ccccc|ddddd|eeee|fffF 
abc|defgh|aaaa|bbbbbb|ccccc|ddddd|eeee|fffF

2,load table语句:

Load table  My_Table
(
ORG_SID                      ‘|‘, 
DEAL_SID                     ‘|‘, 
ALL_TIME_SID              ‘|‘, 
R_COUNT_DIM_SID      ‘|, 
T_TAX_STOR_COST    ‘|‘, 
T_STOR_COST            ‘|‘, 
T_STOR_SUM              ‘|‘, 
CREATED_DT              ‘\X0A‘         --数据文件中每行的换行符(16进制)
)
From  ‘/load_data/loadTest.txt‘       ---要加载文件的路径
ESCAPES OFF
QUOTES OFF
NOTIFY 100000
WITH CHECKPOINT ON;
COMMIT;

文件以‘|’作为分隔符,每行的换行符以 ‘\X0A‘换行; 通常的换行有‘\x0d\x0a‘(回车、换行)   或‘\x0A‘ (换行);

load table  语法写入存储过程,然后直接调用存储过程文件即可加载入库;

例二:

1,文本格式为:

20171222|&@001731edae78|&@absent|&@absent|&@001731edae78|&@|
20171222|&@001bb958bc07|&@absent|&@absent|&@001bb958bc07|&@|
20171222|&@001bfc067636|&@absent|&@absent|&@001bfc067636|&@|

2,load table 语句:

set temporary option CONVERSION_ERROR = ‘OFF‘; 
load table t_station_match_result(load_dt ‘|&@‘ null(‘//xd0‘),op_station ‘|&@‘ null(‘//xd0‘),ip ‘|&@‘ null(‘//xd0‘),mac ‘|&@‘ null(‘//xd0‘), mobile ‘|&@|‘  null(‘‘) )
FROM ‘" + file_path+"‘
ESCAPES OFF
QUOTES OFF     
NOTIFY 100000 
WITH CHECKPOINT ON; 
file_path:txt文件路径(绝对路径)

 

Sybase中的load table的用法

标签:mobile   com   option   upd   文件   bfc   内容   name   文件路径   

原文地址:http://www.cnblogs.com/lizm166/p/8108475.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!