powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Первичный ключ и репликация
16 сообщений из 16, страница 1 из 1
Первичный ключ и репликация
    #33731382
V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
V
Гость
Объясните пожалуйста новичку как происходит генерация первичного ключа при вставке изменений в target tables...В документации прочитала следующее :
The Apply program then attempts to update the row in the target table with the new key value.

Откуда берется это самое new key value, по каким принципам генерируется? Значит ли это что primary key должен быть автоинкрементным?
Может подскажете какую-нибудь доку где об этом можно почитать поподробнее.
...
Рейтинг: 0 / 0
Первичный ключ и репликация
    #33731598
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Версия базы какая?
...
Рейтинг: 0 / 0
Первичный ключ и репликация
    #33731604
V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
V
Гость
DB2 v.7.2
...
Рейтинг: 0 / 0
Первичный ключ и репликация
    #33731660
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В 7.2 у вас есть 2 варианта репликации изменений в таблице:

1. Как 2 операции: delete и insert
2. Как update

В первом случае в target она сначала удаляет старую запись, потом вставляет новую, согласно сделанным изменениям.
Это все хорошо, если в target на эту запись ничего не ссылается внешним ключом.

Во втором случае ибмеры, видимо, прикололись (в 7.2):
в соотв. таблице изменений генерируется одна запись, типа, надо сделать 1 update. Но информации о старом значении ключа нет (бу-га-га)!
Поэтому, если вы сделали изменение какого-либо ключевого поля в этом режиме репликации, то изменения отразятся криво.
Поэтому, в таком режиме запрещайте update полей первичного ключа.

Но во всех случаях репликация не генерирует сама первичный ключ.

Насчет почитать,
SQL Replication Guide and Reference
вполне достаточно ИМХО на первое время.
...
Рейтинг: 0 / 0
Первичный ключ и репликация
    #33731679
V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
V
Гость
Меня интересует с каким значением первичного ключа будет вставлена новая строка в target table. Если она возьмет значение primary key из source table то возможна ситуация когда совпадут значения первичного ключа уже существующей записи и вновь добавленной..Как тогда поступит прога?


Читаю как раз SQL Replication Guide and Reference. Именно там вычитала по поводу new key value.
...
Рейтинг: 0 / 0
Первичный ключ и репликация
    #33731707
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так мы про update или insert?
Если про insert, то новая строка будет вставлена с тем значением ключа, что и в source. Если возникнет конфликт, репликация остановится и, до исправления ситуации, ничего реплицировать не будет.
...
Рейтинг: 0 / 0
Первичный ключ и репликация
    #33731858
V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
V
Гость
Извините за совсем уже тогда глупый вопрос(очень уж хочется разобраться во всем до конца) , как же тогда добиться того, чтобы значения primary key было разным в source и target...Наверное я пропустила что то важное...
Спасибо за терпение и подробные объяснения!
...
Рейтинг: 0 / 0
Первичный ключ и репликация
    #33731912
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное имеет смысл навесить триггер BEFORE INSERT на target?
...
Рейтинг: 0 / 0
Первичный ключ и репликация
    #33731916
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Создайте view типа:

Код: plaintext
1.
2.
create view myview ("new_pk", "other_fields") as 
select "выражение(я), преобразующее(ия) PK таблицы в новое(ые) значение(я)", "other_fields"
from mytable;

И реплицируйте эту view.
...
Рейтинг: 0 / 0
Первичный ключ и репликация
    #33731918
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя с другой стороны, а как удаление будет проходить?...
...
Рейтинг: 0 / 0
Первичный ключ и репликация
    #33731962
V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
V
Гость
Ну хотя бы с поддержкой констрейнтов не возникнет никаких проблем?
...
Рейтинг: 0 / 0
Первичный ключ и репликация
    #33731992
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VНу хотя бы с поддержкой констрейнтов не возникнет никаких проблем?

Вопрос не понятен.
Какие проблемы ожидаются и на каком этапе?
...
Рейтинг: 0 / 0
Первичный ключ и репликация
    #33732171
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то мне подсказывает что вам нужен составной первичный ключ...)
...
Рейтинг: 0 / 0
Первичный ключ и репликация
    #33734318
V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
V
Гость
gardenmanЧто-то мне подсказывает что вам нужен составной первичный ключ...)

Я тоже склоняюсь к этой мысли, только пока не совсем представляю пока как он будет выгядеть
...
Рейтинг: 0 / 0
Первичный ключ и репликация
    #33734320
V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
V
Гость
неужели в DB2 нет никаких встроенных механизмов, касающихся поддержки первичных ключей
...
Рейтинг: 0 / 0
Первичный ключ и репликация
    #33734478
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не знаю, как остальные, но я не понимаю, чего вы хотите добиться.
Объясните, зачем вам понадобилось реплицировать запись с изменением первичного ключа?
Это что, какое-то оригинальное требование вашей системы?
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Первичный ключ и репликация
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]