Я хочу выполнить обновление и выбрать результат. Я не хочу, чтобы что-то могло обновлять строку, которую я обновляю, до тех пор, пока не произойдет выбор. Как мне это сделать?SQL Server 2005 и SELECT и UPDATE заблокированы
Моя цель - увеличить значение строки и вернуть это добавочное значение. Я до сих пор обнаружил, что в итоге у меня возникла проблема с обновлением (для увеличения), за которым следует выбор в ситуации, когда два запроса происходят примерно в то же время, когда выбор, похоже, возвращает тот же номер. Поэтому я предполагаю, что происходит что-то вроде update> update> select> select.
Я пропустил обозначение этого как SQL Server 2005. Я фактически работаю с сервером 2000. Таким образом, предложение вывода не работает (нет в этой версии).
BEGIN TRANSACTION
UPDATE Table SET Last=(Last+1) WHERE ID=someid;
SELECT * FROM Table WHERE ID=someid;
COMMIT TRANSACTION
Вы определенно не выполняете 'select> update> select' с первым выбором получения значения, используемого в обновлении? –
Я добавляю отладку, чтобы найти точные значения, все, что я знаю, это то же самое. – aepheus
Можете ли вы опубликовать код? –