2010-11-09 27 views
1

可能重复:
Is it possible to perform multiple updates with a single UPDATE SQL statement?我可以用一个语句中的各个字段上的不同值更新多行吗?

我想实现类似于多个插入行的东西,但这次与UPDATE语句。使用

说刀片,它可以:

INSERT INTO table VALUES(
    ('value1','other_value1','row1'), 
    ('value2','other_value2','row2'), 
    ('value3','other_value3','row3'), 
); 

我怎么做与UPDATE一样吗?

已经回答
+0

我可以只删除这个问题吗?你上面给出的链接正是我想要做的 – lock 2010-11-09 08:00:56

回答

0
+1

如果已经有答案,请投票关闭为重复,不要再回答。 – RPM1984 2010-11-09 05:20:06

+0

我认为这个问题已经有了一个问题,但是无论我是否错误地表述了这个问题,它也没有出现在类似的问题列表上,或者SO的搜索引擎失败了。 – lock 2010-11-09 05:49:24

+0

@ RPM1984:superfro没有足够的信誉来重复关闭。 – 2010-11-09 06:12:51

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; 
相关问题