可能重复:
Is it possible to perform multiple updates with a single UPDATE SQL statement?
我想实现类似于多个INSERT行的东西,但这次使用UPDATE语句。
假设使用insert,可以:
INSERT INTO table VALUES(
('value1','other_value1','row1'),
('value2','other_value2','row2'),
('value3','other_value3','row3'),
);
我如何使用UPDATE做同样的事情?
答案 0 :(得分:1)
我不知道你想要什么。如果您想要更好的答案,那么请提供实际数据,对您想要做的事情的解释,以及在您想要完成后完成数据的示例输出。
我会猜测MERGE可能会为你做这个伎俩。例如:
insert into T values
('value1','other3','abcdef',144),
('value2','other4','abcdefg',244),
('value3','other3','abcdefgh',344),
('value4','other4','abcdefghi',444);
merge into T using (values
('value1','other3',144),
('value3','other7',344),
('value4','other4',444)
) as V(v,o,i)
on T.keyVal = V.v
when matched then update
set other = o, num = i;
go
select * from T;