我在两个不同的DB(一个本地和一个远程)中有两个相同的表。它们都有一个Datetime
(或Datetime2
或其他任何东西,我仍然可以更改它)列,它指定何时添加它们。我想要的是从远程表获取尚未带来的记录到本地表。
为此,从本地表中获取最大值,然后我尝试将条件WHERE remoteTable.CreateTime > maxLocalValue
,但我不知道为什么这似乎覆盖了边界上的一些记录。有更好的方法吗?在第二级或分钟级?
答案 0 :(得分:0)
因为我们知道已经将哪些值添加到本地表,所以只添加远程表中不在本地表中的值。让local_table重新表示本地表和remote_table repersents远程表,并且rcd_1是两个表中的一个列,它反映了DATE类型。
INSERT INTO local_table (col_1,.....(how evermany columns you need), rcd_1)
SELECT rcd_1 FROM remote_table
where remote_table.rcd_1 <> local_table.rcd_1;
你解释问题的方式表明只有较新的日期会从遥控器添加到本地,所以只要这样,你就可以获得所需的结果。