如何更新表中的n行?(How do I update n rows in a table?)

2019-07-19 21:09发布

我需要在一个表中会议的条件,更新前N行。

我知道我可以做一个更新前N ......但问题是,N为在@Variable。

UPDATE TOP @N SET ...不起作用。

有没有办法做到这一点,我只是缺少?

这里没有特定表定义,因为它并不重要的列是什么。如果我可以为一个列的表,我可以做我的表做。

Answer 1:

您需要使用后的括号TOP当你想使用一个变量条款:

UPDATE TOP(@N) ...


Answer 2:

WITH    q AS
        (
        SELECT  TOP (@r) *
        FROM    mytable
        ORDER BY
                col1
        )
UPDATE  q
SET     co12 = @value

UPDATE TOP (@r)会工作,但它会更新任何@r 没有特定的顺序行。

文档

在所引用的行TOP表达用于与INSERTUPDATE ,或DELETE不设置在任何顺序。 TOP n返回n随机行。



文章来源: How do I update n rows in a table?