使用 Sql 对数据进行批量更新及插入
-- 创建两个表
create table t1
(
id int ,
name varchar(100)
)
create table t2
(
id int ,
name varchar(100)
)
--插入数据
--表1
insert into t1 values ( 1,'a')
insert into t1 values ( 2,'b')
--表2
insert into t2 values ( 1,'aq')
insert into t2 values ( 3,'cc')
select * from t1
select * from t2
查询结果
现在进行批量操作
--数据重复的进行更新,缺失的进行插入
MERGE t1
USING ( SELECT id, name FROM t2 ) AS T
ON (t1.id = t.id)
WHEN NOT MATCHED
THEN
insert (ID,NAME) VALUES (T.ID ,T.NAME)
WHEN MATCHED
THEN UPDATE SET t1.name=t.name;
GO
SELECT * FROM T1
SELECT * FROM T2
查询结果如下