![]() |
|
Модераторы: LSD |
![]()
|
|
| Plamenk |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 258 Регистрация: 18.2.2003 Репутация: нет Всего: 3 |
Все привет!
Предположим у меня есть ХП, которая проверяет наличие записи по ID и если такой записи нет добавляет её:
Вопрос собственно в следующем, что будет происходить при одновременном вызове данной ХП несколькими пользователями? Возможна ли ситуация, при которой будут добавлены несколько записей с одинаковым ID? И если да, то как этого избежать? Заранее Все Большое Спасибо! Это сообщение отредактировал(а) Plamenk - 9.11.2005, 14:27 |
|||
|
||||
| Paradox |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1135 Регистрация: 18.11.2002 Где: Россия Репутация: 3 Всего: 1 |
а откуда m_id ???
опять же есть у тебя уникальный ключ на ID или нет ? описал бы поподробнее -------------------- --- |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 18 Всего: 538 |
Если на столбец ID стоит ограничение unique, то 2 одинаковых записи ты не получишь никогда, будут просто ошибки нарушение уникальности. Если нет то такая ситуация возможна. Решить эту проблему можно захватывая блокировку на некий общий ресурс. Можно конечно и саму таблицу select for update, но это нежелательно лучше использовать DBMS_LOCK. А еще лучше отказаться от такого принципа генерации ключей и использовать sequence. -------------------- 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. |
|||
|
||||
| Plamenk |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 258 Регистрация: 18.2.2003 Репутация: нет Всего: 3 |
А можно по подробнее про DBMS_LOCK.
|
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 18 Всего: 538 |
Да там вообщем ничего особенного:
-------------------- 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. |
|||
|
||||
| Plamenk |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 258 Регистрация: 18.2.2003 Репутация: нет Всего: 3 |
Спасибо, LSD!
Я вроде разобрался! |
|||
|
||||
![]()
|
| Правила форума "Oracle" | |
|
|
Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Oracle | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |