经常或可能需要同步不同数据库的某张表。一直想用C#写个同步工具{涉及到旧表存在记录进行更新操作,旧表不存在则进行插入操作}。
不过要写成公用工具,要求对方填写个完整的查询某张表的SQL语句{比如:select field1,field2 from tableName},我那个工具就可以同步到对应另外数据库的tableName表的相应字段。
那这个C#怎么批量更新。尝试了一天左右,还是卡在字段问题上。大家帮写个
不过要写成公用工具,要求对方填写个完整的查询某张表的SQL语句{比如:select field1,field2 from tableName},我那个工具就可以同步到对应另外数据库的tableName表的相应字段。
那这个C#怎么批量更新。尝试了一天左右,还是卡在字段问题上。大家帮写个
create table t1(col1 int,col2 varchar(20))
create table t2(col1 int,col2 varchar(20),col3 date)
go
insert into t1 values --目标表
(1,'aaa1')
,(2,'aaa2')
,(3,'aaa3')
,(6,'aaa6')insert into t2 values --源表
(1,'bbb1',GETDATE())
,(2,'bbb2',GETDATE())
,(4,'bbb4',GETDATE())
,(5,'bbb5',GETDATE())
go
--
merge t1 using t2
on t1.col1=t2.col1
when matched then update set t1.col2=t2.col2
when not matched then insert values(t2.col1,t2.col2)
when not matched by source then delete;
go
select * from t1
drop table t1,t2--结果把目标数据换成了源表数据