我需要在一个表中会议的条件,更新前N行。
我知道我可以做一个更新前N ......但问题是,N为在@Variable。
UPDATE TOP @N SET ...不起作用。
有没有办法做到这一点,我只是缺少?
这里没有特定表定义,因为它并不重要的列是什么。如果我可以为一个列的表,我可以做我的表做。
我需要在一个表中会议的条件,更新前N行。
我知道我可以做一个更新前N ......但问题是,N为在@Variable。
UPDATE TOP @N SET ...不起作用。
有没有办法做到这一点,我只是缺少?
这里没有特定表定义,因为它并不重要的列是什么。如果我可以为一个列的表,我可以做我的表做。
您需要使用后的括号TOP
当你想使用一个变量条款:
UPDATE TOP(@N) ...
WITH q AS
(
SELECT TOP (@r) *
FROM mytable
ORDER BY
col1
)
UPDATE q
SET co12 = @value
UPDATE TOP (@r)
会工作,但它会更新任何@r
没有特定的顺序行。
从文档 :
在所引用的行
TOP
表达用于与INSERT
,UPDATE
,或DELETE
不设置在任何顺序。TOP n
返回n
随机行。