根据条件更新随机行

时间:2018-12-06 10:55:31

标签: sql-server-2012

我有一个带有行的数据库,其中列为空。我想用此列上的新值更新随机行,但是我无法为此编写SQL。

UPDATE TOP 1 [dbo].Invoice SET 
document_id = @guid
WHERE document_id IS NULL
ORDER BY NEWID()

我在这里要做的是在1个随机行上用新的GUID更新document_id。 (实际的向导未在上面看到)

1 个答案:

答案 0 :(得分:0)

您可以在此处尝试使用CTE:

WITH cte AS (
    SELECT TOP 1 document_id
    FROM [dbo].Invoice
    WHERE document_id IS NULL
    ORDER BY NEWID()
)

UPDATE cte
SET document_id = @guid;