В идеале я хочу сделать это:
UPDATE TOP (10) messages SET status=10 WHERE status=0 ORDER BY priority DESC;
По-английски: Я хочу получить 10 лучших (статус = 0) сообщений из БД и заблокировать их (статус = 10). Сначала нужно получить сообщение с более высоким приоритетом.
К сожалению, MS SQL не разрешает предложение order by в обновлении.
В любом случае, как обойти это?