日期:2014-05-16  浏览次数:20577 次

DB2 Load 导入自增字段数据

    在建表时,对于一些表的主键设置为自增,这样在对表进行数据插入、修改、删除时,会方便很多,但是一旦表的主键作为其他表的外键,那么在对数据进行迁移时,就会出现数据不匹配的问题,如何解决对于自增字段的数据和数据文件匹配问题呢。在深入研究load后发现,load对于自增数据的导入,有三种方式:IDENTITYIGNOR、IDENTITYMISSING、IDENTITYOVERRIDE。在实际测试后,对于IDENTITYIGNOR、IDENTITYMISSING,自增字段按照计数器累加;IDENTITYOVERRIDE,自增字段按照数据文件的数据导入表中。

   建表:

CREATE TABLE AAD (
A_1 INT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
A_2 VARCHAR(50)
)
;

数据文件内容(e:\load.txt):

2,"22"
3,"33"

导入命令:

LOAD CLIENT FROM 'E:\LOAD.TXT' OF DEL 
MODIFIED BY IDENTITYOVERRIDE
REPLACE INTO AAD;
加上IDENTITYOVERRIDE后,Load将把数据文件中的数值,填充到表的自增字段中。