
# 关系数据库增量迁移
CDM支持对关系型数据库进行增量迁移，全量迁移完成之后，可以增量迁移指定时间段内的数据（例如每天晚上0点导出前一天新增的数据）。
- **增量迁移指定时间段内的数据**
  - 适用场景：源端为关系型数据库，目的端没有要求。
  
  - 关键配置：[Where子句]+定时执行作业。
  
  - 前提条件：数据表中有时间日期字段或时间戳字段。
   
关系数据库增量迁移方式，只对数据表追加写入，不会更新或删除已存在的记录。
![](https://support.huaweicloud.com/usermanual-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
如果配置了时间宏变量，通过DataArts Studio数据开发调度CDM迁移作业时，系统会将时间宏变量替换为"数据开发作业计划启动时间-偏移量"，而不是"CDM作业实际启动时间-偏移量"。
 #### Where子句
- 参数位置：在创建表/文件迁移作业时，如果源端为关系型数据库，那么在源端作业参数的高级属性下面可以看到"Where子句"参数。
- 参数原理：通过"Where子句"参数可以配置一个SQL语句（例如：age \> 18 and age \<= 60），CDM只导出该SQL语句指定的数据；不配置时导出整表。 Where子句支持配置为[时间宏变量](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0114.html#dataartsstudio_01_0114)，当数据表中有时间日期字段或时间戳字段时，配合定时执行作业，能够实现抽取指定日期的数据。
  
- 配置样例： 假设数据库表中存在表示时间的列DS，类型为"varchar(30)"，插入的时间格式类似于"2017-xx-xx"，如[图1]所示，参数配置如下：
  图1表数据   
  ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0148228601.png)
  1. Where子句：配置为**DS='${dateformat(yyyy-MM-dd,-1,DAY)}'** 。
     图2Where子句   
     ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001536695789.png) 
  
  2. 配置定时任务：重复周期为1天，每天的凌晨0点自动执行作业。
  
  
  这样就可以每天0点导出前一天产生的所有数据。Where子句支持配置多种[时间宏变量](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0114.html#dataartsstudio_01_0114)，结合CDM定时任务的重复周期：分钟、小时、天、周、月，可以实现自动导出任意指定日期内的数据。
  
 
