Я бы порекомендовал внести некоторые изменения в дизайн, если это возможно. Вместо того, чтобы уменьшать / увеличивать, другими словами, обновляя поле, я вставляю запись каждый раз, когда совершается продажа. Затем я бы создал хранимую процедуру и запланировал ее регулярное выполнение.
Это гарантирует, что только один процесс одновременно обновляет счетчик.
Это единственный известный мне способ гарантировать 100% соответствие поля.
Некоторые люди могут предложить пессимистическую блокировку - я бы никогда не использовал ее ни при каких обстоятельствах.