0

我在 Microsoft Access 表中没有自动编号的主键。我很想知道在 Sql Server 中是否有任何与此查询等效的语法:

update top(2) [dbtest].[dbo].[myTable]
set ColA = ColA+13
where ColA = 5

此代码仅更新与“where”子句中指定的条件匹配的前 2 行(取决于您在 TOP 之后的括号中指定的内容)。

但是,如果可能的话,我需要 Access 变体。谢谢!

4

1 回答 1

1

只要您在表上有一个主键,这应该可以工作:

UPDATE MyTable SET ColA = ColA + 13
WHERE PKField IN(SELECT TOP 2 PKField FROM MyTable WHERE ColA = 5)

注意:您可能需要在某处考虑 Order By 子句,以确保您正在更新相关的 2 条记录。

于 2013-03-11T15:52:59.780 回答