Не совсем, но вы можете SELECT ... WITH (UPDLOCK)
, затем UPDATE..
впоследствии.Это так же хорошо, как атомарная операция, поскольку она сообщает базе данных, что вы собираетесь обновить то, что вы ранее выбрали, чтобы она могла блокировать эти строки, предотвращая конфликты с другими клиентами.В Oracle и некоторых других базах данных (я думаю, MySQL) синтаксис: SELECT ... FOR UPDATE
.
Примечание: я думаю, что вам нужно убедиться, что два оператора происходят внутри транзакции, чтобы она работала.