When using incremental transfer, if you change the key values for some rows, the next transfer into the table considers the changed key data rows to be new data, but replaces the data for rows in which keys have not changed.
transfer_example uses the f1 column as the primary-key column. SAP ASE uses this column to determine whether an incoming row contains new data, or whether it replaces an existing row.
update transfer_example set f1 = f1 + 10 where f1 in (3,5,7)
(3 rows affected)
transfer table transfer_example from 'transfer_example-data.ase' for ase
(10 rows affected)
select * from transfer_example order by f1
f1 f2 f3 ------- ------------------------------ ---------------------------- 1 AAA Jul 17 2009 4:40:14.465789PM 2 BBBBBB Jul 17 2009 4:40:14.488003PM 3 CCCCCCCCC Jul 17 2009 4:40:14.511749PM 4 DDDDDDDDDDDD Jul 17 2009 4:40:14.536653PM 5 EEEEEEEEEEEEEEE Jul 17 2009 4:40:14.559480PM 6 FFFFFFFFFFFFFFFFFF Jul 17 2009 4:40:14.583400PM 7 GGGGGGGGGGGGGGGGGGGGG Jul 17 2009 4:40:14.607196PM 8 HHHHHHHHHHHHHHHHHHHHHHHH Jul 17 2009 4:40:14.632152PM 9 IIIIIIIIIIIIIIIIIIIIIIIIIII Jul 17 2009 4:40:14.655184PM 10 JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ Jul 17 2009 4:40:14.678938PM 13 CCCCCCCCC Jul 17 2009 4:40:14.511749PM 15 EEEEEEEEEEEEEEE Jul 17 2009 4:40:14.559480PM 17 GGGGGGGGGGGGGGGGGGGGG Jul 17 2009 4:40:14.607196PM (13 rows affected)
transfer table transfer_example to 'transfer_example-data-01.ase' for ase with tracking_id = 101
(13 rows affected)
update transfer_example set f3 = current_bigdatetime() where f1 > 10
(3 rows affected)
transfer table transfer_example to 'transfer_example-data-02.ase' with tracking_id = 102
(3 rows affected)
select id, sequence_id, end_code, ts_floor, ts_ceiling, row_count from spt_TableTransfer where id = object_id('transfer_example') and tracking_id = 101
id sequence_id end_code ts_floor ts_ceiling row_count ----------- ----------- -------- -------------------- -------------------- 592002109 3 0 5309 5716 13