Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Частичная синхронизация данных (помогите не изобрести велосипед)  [new]
umount
Member

Откуда: Москва
Сообщений: 108
База 9-ка

Задача простая. Есть таблица в другой схеме, схему трогать нельзя. Нужно создать копию таблицы и прикуртить к ней суррогатный ключ.
То есть в той схеме

TABLE T_A
A varchar2(10)
B number

нужно создать в конечной схеме

TABLE T_A
ROW_ID number <-----------
A varchar2(10)
B number

и синхронизировать ее с исходной
задача усложняется тем, что может быть несколько исходных таблиц. Причем во всех таблицах первичного ключа нет вообще.

Задача собвенно состоит не сколько в создании такой таблицы сколько в синхронизации данных.

В принципе задача из тривиальных, поэтому уж очень сильно не хочется велосипед изобретать и что то делать на коленке ниужели никаких фищек нет которые это делают?

Заранее спасибо :-)
28 июн 06, 16:37    [2822178]     Ответить | Цитировать Сообщить модератору
 Re: Частичная синхронизация данных (помогите не изобрести велосипед)  [new]
softy
Member

Откуда: from Russia
Сообщений: 5911
umount

и синхронизировать ее с исходной
задача усложняется тем, что может быть несколько исходных таблиц. Причем во всех таблицах первичного ключа нет вообще.


Если изначальная таблица не имеет PK, то как можно однозначно сопоставить строки между таблицами в дальнейшем, если понадобиться?
28 июн 06, 17:02    [2822344]     Ответить | Цитировать Сообщить модератору
 Re: Частичная синхронизация данных (помогите не изобрести велосипед)  [new]
umount
Member

Откуда: Москва
Сообщений: 108
Ну скажем так условно считается что вся таблица состоит из первичного ключа.
Иммпется в виду что он фактиски не задекларирован - реально он есть
ПРосто это данные которые туда грузяться из DBF и никто не хочет PK создавать
28 июн 06, 17:05    [2822363]     Ответить | Цитировать Сообщить модератору
 Re: Частичная синхронизация данных (помогите не изобрести велосипед)  [new]
softy
Member

Откуда: from Russia
Сообщений: 5911
umount
Ну скажем так условно считается что вся таблица состоит из первичного ключа.
Иммпется в виду что он фактиски не задекларирован - реально он есть
ПРосто это данные которые туда грузяться из DBF и никто не хочет PK создавать


Ничего не понял.

Совокупность A+B есть уникальная запись?
28 июн 06, 17:08    [2822378]     Ответить | Цитировать Сообщить модератору
 Re: Частичная синхронизация данных (помогите не изобрести велосипед)  [new]
umount
Member

Откуда: Москва
Сообщений: 108
Ага - в общем я к чему - ключ есть, но он не декларированный, только на уровне бизнес логики. В схеме где исходные таблицы первычных ключей нет, там таблицы как то очень хитро обновляют, как не наша проблема.
Наша проблема сделать так чтобы синхронизацуия данных работала. Можно там написать ручками, но ниужели готового нет? Репликацию не предлагать - не пойдет.
28 июн 06, 17:12    [2822404]     Ответить | Цитировать Сообщить модератору
 Re: Частичная синхронизация данных (помогите не изобрести велосипед)  [new]
softy
Member

Откуда: from Russia
Сообщений: 5911
umount
Ага - в общем я к чему - ключ есть, но он не декларированный, только на уровне бизнес логики. В схеме где исходные таблицы первычных ключей нет, там таблицы как то очень хитро обновляют, как не наша проблема.
Наша проблема сделать так чтобы синхронизацуия данных работала. Можно там написать ручками, но ниужели готового нет? Репликацию не предлагать - не пойдет.


1)А можно более чётко ответить на вопрос: комбинация полей A+B яляется уникальной?

2) А репликацию и не получится использовать если в таблице нет первичного ключа или по таблице нельзя составить альтернативнй PK.
28 июн 06, 17:18    [2822436]     Ответить | Цитировать Сообщить модератору
 Re: Частичная синхронизация данных (помогите не изобрести велосипед)  [new]
umount
Member

Откуда: Москва
Сообщений: 108
softbuilder@inbox.ru
umount
Ага - в общем я к чему - ключ есть, но он не декларированный, только на уровне бизнес логики. В схеме где исходные таблицы первычных ключей нет, там таблицы как то очень хитро обновляют, как не наша проблема.
Наша проблема сделать так чтобы синхронизацуия данных работала. Можно там написать ручками, но ниужели готового нет? Репликацию не предлагать - не пойдет.


1)А можно более чётко ответить на вопрос: комбинация полей A+B яляется уникальной?

2) А репликацию и не получится использовать если в таблице нет первичного ключа или по таблице нельзя составить альтернативнй PK.


Можно - да :-) В рельных таблицах понятно что полей далеко не 2 :-)

Ну дык и я о том же тем более что данные физически на одном сервере...
28 июн 06, 17:25    [2822487]     Ответить | Цитировать Сообщить модератору
 Re: Частичная синхронизация данных (помогите не изобрести велосипед)  [new]
softy
Member

Откуда: from Russia
Сообщений: 5911
umount

Можно - да :-) В рельных таблицах понятно что полей далеко не 2 :-)

Ну дык и я о том же тем более что данные физически на одном сервере...


1)Иными словами уникальность для строки есть, если использовать какие-либо столбцы(более 1-го)?

Если на триггерах реализовать. Какого-то встроенного механизма синхронизации таблиц в переделах одной БД не помню.


2) Так в пределах одной БД или сервера?
28 июн 06, 17:36    [2822557]     Ответить | Цитировать Сообщить модератору
 Re: Частичная синхронизация данных (помогите не изобрести велосипед)  [new]
umount
Member

Откуда: Москва
Сообщений: 108
softbuilder@inbox.ru
umount

Можно - да :-) В рельных таблицах понятно что полей далеко не 2 :-)

Ну дык и я о том же тем более что данные физически на одном сервере...


1)Иными словами уникальность для строки есть, если использовать какие-либо столбцы(более 1-го)?

Если на триггерах реализовать. Какого-то встроенного механизма синхронизации таблиц в переделах одной БД не помню.


2) Так в пределах одной БД или сервера?


1) более того, кое где и по одному полю есть, без этого сама синхронизация теряет смысл проще delete from и insert from select только такое не пойдет так как нужно мало того что отслеживать изменения - так еще об этих изменениях сообщать дальше.

2) в пределах БД - база инстанс одна - но схемы разные.
28 июн 06, 17:52    [2822647]     Ответить | Цитировать Сообщить модератору
 Re: Частичная синхронизация данных (помогите не изобрести велосипед)  [new]
softy
Member

Откуда: from Russia
Сообщений: 5911
Так как насчёт триггеров?
29 июн 06, 11:44    [2824713]     Ответить | Цитировать Сообщить модератору
 Re: Частичная синхронизация данных (помогите не изобрести велосипед)  [new]
umount
Member

Откуда: Москва
Сообщений: 108
1) ту часть трогать нельзя
2) триггера не катят - там таблицы периодически ВСЕ сносятся и заполняются заново....

В общем ТАКОГО штатно точно быть не может :-) Пишу руками что делать....
29 июн 06, 20:03    [2827958]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить