更新Access表中与条件匹配的顶行

时间:2013-03-11 14:20:53

标签: ms-access

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

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

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

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

1 个答案:

答案 0 :(得分:1)

只要你在桌面上有一个主键,这应该有效:

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

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