Если вы хотите установить флаг, чтобы никакая другая часть кода не использовала этот же объект в одно и то же время, лучше, если вызывающий код устанавливает inuse = 1 и сбрасывает его по завершении. В противном случае вы закончите одним потоком, чтобы пометить объект (строку) как использованный, а затем, если другому потоку понадобится другой объект, он сбросит первый, пока он еще используется.
Если это не так, и вы просто хотите настроить использование одного и сбросить все остальные, вы можете использовать:
UPDATE myTable
SET InUse = CASE
WHEN myTable.id = @id THEN 1
ELSE 0
END