关于两张表做同步的有关问题
关于两张表做同步的问题
如题有两张表(tb1,tb2)规定时间段做同步
------解决方案--------------------
做个JOB,周期性Insert,带上where条件,你的问题太虚了,一下子把问题无限扩大
------解决方案--------------------
可以用SQL Server的复制工具(replication)实现表与表的数据同步.
------解决方案--------------------
同步复制?
合并复制?快照复制?事务复制?
------解决方案--------------------
如题有两张表(tb1,tb2)规定时间段做同步
------解决方案--------------------
做个JOB,周期性Insert,带上where条件,你的问题太虚了,一下子把问题无限扩大
------解决方案--------------------
可以用SQL Server的复制工具(replication)实现表与表的数据同步.
------解决方案--------------------
同步复制?
合并复制?快照复制?事务复制?
------解决方案--------------------
--不知道能不能满足你的需求
USE TEMPDB
GO
IF OBJECT_ID('T1') IS NOT NULL DROP TABLE T1
IF OBJECT_ID('T2') IS NOT NULL DROP TABLE T2
GO
CREATE TABLE T1(ID1 INT,VAL1 VARCHAR(50))
CREATE TABLE T2(ID2 INT,VAL2 VARCHAR(50))
GO
INSERT INTO T1
SELECT 1,'A' UNION ALL
SELECT 2,'B' UNION ALL
SELECT 3,'C'
MERGE INTO T2 AS TB_TARGET
USING T1 AS TB_SOURCE
ON TB_TARGET.ID2=TB_SOURCE.ID1
WHEN NOT MATCHED BY TARGET THEN
INSERT(ID2,VAL2)
VALUES(ID1,VAL1)
WHEN NOT MATCHED BY SOURCE THEN
DELETE
WHEN MATCHED AND TB_TARGET.VAL2<>TB_SOURCE.VAL1 THEN
UPDATE SET
TB_TARGET.VAL2=TB_SOURCE.VAL1
OUTPUT $ACTION,ISNULL(DELETED.ID2,INSERTED.ID2) AS ID,DELETED.VAL2,INSERTED.VAL2
;