9 sql t-sql sql-server sql-update
我想更新数据库表中的前400行.伪SQL在下面,我该怎么做?
UPDATE top (400) db.dbo.tbl
SET column1 = 2
WHERE column2 = 1
AND column1 is null
Run Code Online (Sandbox Code Playgroud)
UPDATE db.dbo.tbl SET column1 = 2 WHERE
primaryID IN (
SELECT TOP (400) primarkyID FROM db.dbo.tbl
WHERE column2 = 1 AND column1 IS NULL
)
Run Code Online (Sandbox Code Playgroud)
但我不喜欢这个,因为没有办法保证前400名,你可能想要添加其他类型的标准.甚至是子命令的顺序.
WITH q AS
(
SELECT TOP 400 *
FROM db.dbo.tb
WHERE column2 = 1
AND column1 is null
ORDER BY
column3 -- choose your order!
)
UPDATE q
SET column2 = 2
Run Code Online (Sandbox Code Playgroud)