![]() |
|
Модераторы: LSD |
![]()
|
|
| sergey_85 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 17.4.2007 Где: Россия, Челябинск Репутация: нет Всего: 1 |
Привет!
Такая ситуация есть таблица товары, в ней кол-во товара на складе. Таблицу обновляют (парралельно) несколько пользователей. Как сделать так чтобы изменения были согласованными и не возникло конфликтов, когда один ставит кол-во =5 и тут же другой кол-во = 90 БД FireBird 2.1 Принцип по которому обнвляется кол-во товра такой: пользователю показывается текущее значение товара (напр. 20) и он сам заносит новое значение (!!!не его приращение!!! т.е. было 20, а он ставит 40). Спасибо! -------------------- A good design always pays off. |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 11 Всего: 161 |
По ключевым словам "firebird блокировка" гугл дал первую же ссылку на статью, которая показалась мне как раз тем, что Вам нужно
-------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| sergey_85 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 17.4.2007 Где: Россия, Челябинск Репутация: нет Всего: 1 |
читал я ето, мне бы еще пример! (первое что я и нашел)
-------------------- A good design always pays off. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 24 Всего: 538 |
Избежать конфликта можно только блокировками. Т.е. пока один входит в режим редактирования и захватывает блокировку. Если в этот момент другой пользователь попробует войти в режим редактирования, он просто получит ошибку и/или ожидает пока можно будет захватить блокировку. (такой алгоритм кстати очень плохой) Если же надо чтобы пользователи могли одновременно редактировать данные, то без конфликтов не обойтись. Как их разрешать, это уже вам самим решать. Простейший способ - кто последний записал, тот и прав. Более сложный способ указывается, что на что менять. Например говориться в таблице A поле B изменить с 10 на 15. Если в таблице действительно значение 10, то обновление выполняется, иначе выдается ошибка. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
![]()
|
| Правила форума "Общие вопросы по базам данных" | |
|
|
Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:
Данный форум не предназначен для:
Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение.
Полезные советы: Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | СУБД, общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |