Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Заблокировать набор записей на чтение при til Snapshot ?  [new]
Cammomile
Member

Откуда:
Сообщений: 1214
есть таблица key-value

есть процка
BEGIN TRAN 
  SELECT @Value = value + 1 FROM KeyValue WHERE Key = 1 
  UPDATE KeyValue SET Value = @Value WHERE Key = 1 
  WAIT FOR DELAY '00:00:10'
COMMIT TRAN  


Задача сделать так, чтобы
SELECT value FROM KeyValue WHERE Key = 1 
, сделанное во время работы процки, вернуло данные только по окончании её работы

в то время как
SELECT value FROM KeyValue WHERE Key = 2 
вернуло бы данные сразу

У базы TIL Snapshot =(
20 дек 13, 21:15    [15325817]     Ответить | Цитировать Сообщить модератору
 Re: Заблокировать набор записей на чтение при til Snapshot ?  [new]
invm
Member

Откуда: Москва
Сообщений: 9824
Cammomile
У базы TIL Snapshot =(
У базы не бывает TIL.

Процедуру и запрос переписать:
BEGIN TRAN 
  SELECT @Value = value + 1 FROM KeyValue with (updlock) WHERE Key = 1 
  UPDATE KeyValue SET Value = @Value WHERE Key = 1 
  WAIT FOR DELAY '00:00:10'
COMMIT TRAN
SELECT value FROM KeyValue with (updlock) WHERE Key = 1
20 дек 13, 21:54    [15325943]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить