Re[3]: Семафор для работы с БД
От: lord0n Россия  
Дата: 03.04.08 13:57
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, ., Вы писали:


.>>Можно делать примерно так:

.>>
.>>UPDATE Job SET isBusy=1 WHERE isBusy=0 AND...;
.>>//check if @@ROWCOUNT>0, значит Job наш
.>>


L>и получить блокировку.


Всем спасибо за ответы.
На сколько мне известно блокировки в БД охватывают весь запрос
То есть если я напишу
select * from QUEUE where InWork = 0 and Result is null


то у меня заблокируется вся очередь, а не её первый элемент (который мне и нужен)
мне нужно какимто образом получить первый элемент и заблокировать его на то время пока я с ним работаю
как это сделать я не знаю
база sql server 2000
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.