Sybase中的load table的用法

Posted 整合侠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sybase中的load table的用法相关的知识,希望对你有一定的参考价值。

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的用法的主要内容,如果未能解决你的问题,请参考以下文章

SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase(代码片

sybase数据库的“like”用法是啥?

异常 SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]

SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase, Ha

SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]

SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase] 错误