Если это SQL Server 2005+, вы можете использовать предложение OUTPUT
для возврата PK обновленной строки:
update table
set statusID = 7, folderID = 12
output inserted.PK
where PK = ( select MIN(PK) from tbl where statusID = 5)
Вышеприведенный оператор будет (попытка)обновить строку с PK, возвращенным из подзапроса , а вернуть набор строк с одним столбцом, PK
.Возвращенный набор строк будет содержать PK обновленной строки или ничего, если ничего не было обновлено.