Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Хранилище данных на 10g / 4 сообщений из 4, страница 1 из 1
08.12.2005, 08:51
    #33423981
owb_b
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранилище данных на 10g
здравствуйте,

как реализовать такую задачу: мне надо синхронизировать таблицы в базе Б (А-основная база) (есть какая нибудь всроенная функция типа Compare USER OBJECTS(мне надо COMPARE данных в таблицах) )
1 я делаю так:
create or replace view run_package_v as
select count(LF1.fee_type)-count(LF.fee_type) DIFF
,'LND_FEE_TYPE' TABLE_NAME
,'TAB_STAT_LND_FEE_TYPE' PACKAGE_NAME
,'-' TYPE_UPDATE
,'-' DINAMIC_PACK
,'A' TYPE_RUN
from lnd_fee_type@DS LF1
,lnd_fee_type LF
where LF1.FEE_TYPE=LF.fee_type(+)
UNION
select count(C1.CCY)-count(C.CCY) DIFF
,'KRN_CURRENCIES' TABLE_NAME
,'TAB_STAT_MAP_KRN_CURRENCY' PACKAGE_NAME
,'-' TYPE_UPDATE
,'-' DINAMIC_PACK
,'A' TYPE_RUN
from KRN_CURRENCIES@DS C1
,KRN_CURRENCIES C
where C1.CCY=C.CCY(+)
другие варианты предолжите пожайлуста это решение не оптимальное я думаю
...
Рейтинг: 0 / 0
08.12.2005, 13:24
    #33424967
Parkhomets Andrey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранилище данных на 10g
owb_bздравствуйте,

как реализовать такую задачу: мне надо синхронизировать таблицы в базе Б (А-основная база) (есть какая нибудь всроенная функция типа Compare USER OBJECTS(мне надо COMPARE данных в таблицах) )
1 я делаю так:
create or replace view run_package_v as
select count(LF1.fee_type)-count(LF.fee_type) DIFF
,'LND_FEE_TYPE' TABLE_NAME
,'TAB_STAT_LND_FEE_TYPE' PACKAGE_NAME
,'-' TYPE_UPDATE
,'-' DINAMIC_PACK
,'A' TYPE_RUN
from lnd_fee_type@DS LF1
,lnd_fee_type LF
where LF1.FEE_TYPE=LF.fee_type(+)
UNION
select count(C1.CCY)-count(C.CCY) DIFF
,'KRN_CURRENCIES' TABLE_NAME
,'TAB_STAT_MAP_KRN_CURRENCY' PACKAGE_NAME
,'-' TYPE_UPDATE
,'-' DINAMIC_PACK
,'A' TYPE_RUN
from KRN_CURRENCIES@DS C1
,KRN_CURRENCIES C
where C1.CCY=C.CCY(+)
другие варианты предолжите пожайлуста это решение не оптимальное я думаю

Ваш вопрос слегка не понятен, может стоить оформить его по лучше ?
А вообще ответ такой:
Для сравнения таблиц "влоб" без подготовки лучше использовать select * from tab_A minius select * from tab_B; другой варинт - это пакадж - который будет сравнивать все типы полей ( char, date, number ) и отвечать Вам 1 или 0. Будет работать но не шустро, медленнее чем minus. Самый злоровый вариант отслеживать изменения в TAB_A тригерами и вести лог изменения по ID. Соответвественно - потом разбирать лог некой процедурой и применять к TAB_B
...
Рейтинг: 0 / 0
09.12.2005, 17:35
    #33428173
Гликоген
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранилище данных на 10g
В MS SQL 2000 для сравнения таблиц есть мегафункции для подсчета контрольных сумм всей таблицы, столбца, строки и поля.
Оч.удобно! :)
...
Рейтинг: 0 / 0
12.12.2005, 10:52
    #33429982
inga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранилище данных на 10g
можно использовать хэш функции.
дешево, надежно, практично.
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Хранилище данных на 10g / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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