Представим такую ситуацию:
Пользователь дважды нажал на кнопку купить, ну или клиент отправил 2 запроса, тогда есть вероятность, что когда мы получаем количества товара в магазине, баланс на счету уменьшится. Однако, у нас будет diff>0.
Могло бы спасти @@error, но:
@@error - возвращает номер ошибки для последней выполненной инструкции Transact-SQL.