Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сравнение 2-х одинаковых таблиц в разных базах / 7 сообщений из 7, страница 1 из 1
08.03.2008, 11:34
    #35179430
N_ilyas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение 2-х одинаковых таблиц в разных базах
Возможно ли сравнить методом запроса 2 одинаковые таблицы из разных баз данных на предмет количества записей и перенести недостающие записи из одной базы в другую ? Базы на одном сервере естессно. Подскажите кто делал, как запрос составлять. Заранее спасибо.
...
Рейтинг: 0 / 0
08.03.2008, 11:41
    #35179434
Taffy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение 2-х одинаковых таблиц в разных базах
Код: plaintext
1.
2.
3.
4.
insert into datebase1..mytable 
select t2.*
from datebase1..mytable t1 full join
       datebase2..mytable t2 on t1.id = t2.id
where t1.id is null
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
04.05.2018, 21:52
    #39640422
Alexander2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение 2-х одинаковых таблиц в разных базах
Taffy, в продолжение банкета ... что-то странное творится на SQL SERVER.

Пытаюсь сделать ЭТО для обработки разницы в двух таблицах, которые содержат Image поле (PhotoFull), и в случае несовпадения добавить в новую таблицу запись из старой базы.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
insert into dbo.Object_Image(
[RowID]
,[Object_ID]
,[PhotoFull]
)
SELECT 
t1.[RowID]
,t1.[Object_ID]
,t1.[PhotoFull]
from OldServer.OldBase.dbo.Object_Image t1 
left join NewServer.NewDatabase.dbo.Object_Image t2 on t1.RowId = t2.RowID 
where t2.RowID is null



кусок кода select *.... работает FOREVER NEVERENDING STORY!!! - даже если НЕТ НИКАКОЙ РАЗНИЦЫ и возврат должен быть 0 records.... (так и не дождался)
если извлекать только RowId - то select t1.RowId срабатывает МГНОВЕННО, возвращая, ессно, аналогично 0 records.
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT 
t1.[RowID]
-- ,t1.[Object_ID]
-- ,t1.[PhotoFull]
from OldServer.OldBase.dbo.Object_Image t1 
left join NewServer.NewDatabase.dbo.Object_Image t2 on t1.RowId = t2.RowID 
where t2.RowID is null
...
Рейтинг: 0 / 0
05.05.2018, 06:46
    #39640534
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение 2-х одинаковых таблиц в разных базах
Ну и что тут удивительного? Поднимать LOB с диска - это небыстро.

Головой работать надо.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
SELECT t1.[RowID] into #RowIds
from OldServer.OldBase.dbo.Object_Image t1 
left join NewServer.NewDatabase.dbo.Object_Image t2 on t1.RowId = t2.RowID 
where t2.RowID is null;

if @@rowcount > 0 begin

alter table #RowIds add primary key (RowID);

insert into dbo.Object_Image(
[RowID]
,[Object_ID]
,[PhotoFull]
)
SELECT 
t1.[RowID]
,t1.[Object_ID]
,t1.[PhotoFull]
from OldServer.OldBase.dbo.Object_Image t1 inner join #RowIds as t2 on t1.RowId = t2.RowID;

end;
...
Рейтинг: 0 / 0
05.05.2018, 08:06
    #39640544
Alexander2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение 2-х одинаковых таблиц в разных базах
aleks222,

неплохо работает!

Но вчера проще сделал:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SELECT 
t1.[RowID]
,t1.[Object_ID]
,t1.[PhotoFull]
from OldServer.OldBase.dbo.Object_Image t1 
WHERE t1.[RowID] IN (
SELECT X.[RowID]
from (
SELECT 
t1.[RowID]
,t2.RowID as oldRowID
from OldServer.OldBase.dbo.MyPhotos t1 
left join NewServer.NewDataBase.dbo.MyPhotos t2 on t1.RowId = t2.RowID 
) X
where X.oldRowID is null)
...
Рейтинг: 0 / 0
05.05.2018, 08:09
    #39640545
Alexander2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение 2-х одинаковых таблиц в разных базах
упс - поправка (просьба модератору - подправить)
Код: sql
1.
2.
3.
...
from OldServer.OldBase.dbo.Object_Image t1   надо  from OldServer.OldBase.dbo.MyPhotos t1 
...
...
Рейтинг: 0 / 0
06.05.2018, 17:22
    #39641004
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение 2-х одинаковых таблиц в разных базах
Alexander2Taffy, в продолжение банкета ... что-то странное творится на SQL SERVER.
[/src]

нифига себе продолжение банкета 10 летней давности
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сравнение 2-х одинаковых таблиц в разных базах / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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