Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.18;
Скачать: CL | DM;

Вниз

Заблокировать определенную запись   Найти похожие ветки 

 
3APA3A   (2004-06-18 22:52) [0]

Firebird 1.5
 Ест список полей с уникальным номером. В данный момент времени только один человек может редактировать запись. Если кто-то еще пытается начать редактирование записи с таким же номером - сервер выдает ошибку тогда, когда пытаешься сделать commit, то есть человек внес все изменения и ошибка... Хочется сразу знать о том, что запись находится в стадии редактирования... Как это грамотно реализовать?


 
}{ander ©   (2004-06-20 10:49) [1]

Сделать холостой апдейт:

UPDATE TABLE1 SET KEYFIELD=KEYFIELD
WHERE KEYFIELD=:VALUE


 
Romkin ©   (2004-06-20 14:36) [2]

Неправда, сервер выдает deadlock при попытке изменить эту запись. Сразу, не дожидаясь commit.
То есть, если в одной транзакции запись изменилась, коммит еще не сделан, то попытка изменить эту запись из другой транзакции вызовет блокировку. Хотя и рапортуется, что deadlock, но это не он :))
выход прост: транзакции на изменение должны быть короткими, как выстрел ;)



Страницы: 1 вся ветка

Текущий архив: 2004.07.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
14-1087384847
Иванов Александр
2004-06-16 15:20
2004.07.18
Ваше отношение к философии, как к науке


1-1088754663
NeyroSpace
2004-07-02 11:51
2004.07.18
Можно ли при помощи TApplication организовать главный цикл


14-1088613697
Amit
2004-06-30 20:41
2004.07.18
Народ кто знает по каким дням у нас праздники?


3-1087557086
bSava
2004-06-18 15:11
2004.07.18
Подскажите как узнать подключенных пользователей?!


6-1084814265
OlegM
2004-05-17 21:17
2004.07.18
Как узнать в сети на каком компе запущен TServerSocket