чтобы решить, какой именно 10. Ваш пример с временной таблицей работает, но он опирается на столбец id.

але я хочу сделать это:

UPDATE TOP (10) messages SET status=10 WHERE status=0 ORDER BY priority DESC;

По-английски: я хочу получить 10 лучших (статус = 0) сообщений из БД и заблокировать их (статус = 10). Сообщение с более высоким приоритетом должно быть получено первым.

к сожалению, MS SQL не разрешает в заказе указание по порядку.

Во всяком случае, как это обойти?

Ответы на вопрос(5)

Ваш ответ на вопрос