0

MicrosoftAccessテーブルに自動番号付きの主キーがありません。SQLServerで可能なこのクエリと同等の構文があるかどうかを知りたいです。

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)

注:関連する2つのレコードを更新していることを確認するために、どこかでOrderBy句を検討することをお勧めします。

于 2013-03-11T15:52:59.780 に答える