Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.16;
Скачать: CL | DM;

Вниз

Обновление ряда таблиц БД из другой БД СУБД SQL Server 2005   Найти похожие ветки 

 
Kostafey ©   (2007-11-13 22:58) [0]

Существовала БД, была сделана ее копия.

Затем в структуру копии БД были внесены
некоторые изменения.
Однако, в течение этого времени в оригинал БД
продолжали вноситься данные (данные вносились
в таблицы той части БД, структура которых не
подвергалась изменениям).

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

Как лучше всего это сделать?


 
Anatoly Podgoretsky ©   (2007-11-13 23:00) [1]

> Kostafey  (13.11.2007 22:58:00)  [0]

Лучше всего через UPDATE


 
Kostafey ©   (2007-11-13 23:02) [2]

> [1] Anatoly Podgoretsky ©   (13.11.07 23:00)
> > Kostafey  (13.11.2007 22:58:00)  [0]
>
> Лучше всего через UPDATE

А как определить какие данные были вновь
внесены (т.е. дбавлены новые записи) и какие
только изменнены?


 
Anatoly Podgoretsky ©   (2007-11-13 23:10) [3]

> Kostafey  (13.11.2007 23:02:02)  [2]

Изучить T-SQL в части JOIN, INSERT, UPDATE и WHERE
Придется написать два независимых запроса.


 
Anatoly Podgoretsky ©   (2007-11-13 23:11) [4]

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


 
Kostafey ©   (2007-11-13 23:18) [5]

> [3] Anatoly Podgoretsky ©   (13.11.07 23:10)
> > Kostafey  (13.11.2007 23:02:02)  [2]
>
> Изучить T-SQL в части JOIN, INSERT, UPDATE и WHERE

Да вроде знаю я SQL немного.
Просто никогда не писал запрос
для 2-х БД одновременно (всегда
работал только с одной базой).


> Придется написать два независимых запроса.

Понял.


> [4] Anatoly Podgoretsky ©   (13.11.07 23:11)
> Другой вариант, а насколько некоторые изменения., может
> проще эти некоторые изменения сделать на копии 1, чем пытаться
> синхронизировать, думаю проще, особенно если заранее подготовить
> скрипт.

Да, я про это уже думал.
Я даже сначала так и хотел сделать, но
потом выяснилось что один злой пользователь
удалил некоторые данные из другой части оригинальной
БД. Ну да, еще есть бэкап, но у меня он не с собой.

Да и изменнения в структуре копии были такие,
что повторить их уже вряд ли получиться.


 
Anatoly Podgoretsky ©   (2007-11-13 23:20) [6]

> Kostafey  (13.11.2007 23:18:05)  [5]

db.owner.table


 
Kostafey ©   (2007-11-13 23:30) [7]

> db.owner.table

Дак я вроде так и пишу.
Вот простейший запрос:

UPDATE Dor.dbo.POJ_POEZD
  SET Dor.dbo.POJ_POEZD.Station = Dor_Last.dbo.POJ_POEZD.Station
Where Dor.dbo.POJ_POEZD.Cod_disl = 228


а он мне:
Msg 4104, Level 16, State 1, Line 1
The multi-part identifier "Dor_Last.dbo.POJ_POEZD.Station" could not be bound.


 
Anatoly Podgoretsky ©   (2007-11-13 23:36) [8]

> Kostafey  (13.11.2007 23:30:07)  [7]

Наверно надо алиас применить. И ты пропустил мои слова про JOIN
Кроме того советую подготовиться с вопросом и задать его на sqlru.microsoft-sql-server
Там есть очень опытные спецы по SQL Server


 
Kostafey ©   (2007-11-14 00:08) [9]

Во как извернулся :)

UPDATE Dor.dbo.POJ_POEZD
  SET Dor.dbo.POJ_POEZD.Station =
(select Dor_Last.dbo.POJ_POEZD.Station
from Dor_Last.dbo.POJ_POEZD
where Dor_Last.dbo.POJ_POEZD.Cod_disl = 228
)
where Dor.dbo.POJ_POEZD.Cod_disl = 228


 
Kostafey ©   (2007-11-14 00:14) [10]

Для общего случая:

UPDATE Dor.dbo.POJ_POEZD
SET Dor.dbo.POJ_POEZD.Station=(
select Dor_Last.dbo.POJ_POEZD.Station
from Dor_Last.dbo.POJ_POEZD
where Dor_Last.dbo.POJ_POEZD.Cod_disl in (select Dor.dbo.POJ_POEZD.Cod_disl)
)
WHERE Dor.dbo.POJ_POEZD.Cod_disl in
(select Dor.dbo.POJ_POEZD.Cod_disl)



Страницы: 1 вся ветка

Текущий архив: 2007.12.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.026 c
2-1195299590
Riply
2007-11-17 14:39
2007.12.16
Сортированность объектов, возвращаемых NtQueryDirectoryFile.


2-1195297585
Kolan
2007-11-17 14:06
2007.12.16
Как разобраться как работает механизм ShortCut у TAction?


2-1195840718
vegarulez
2007-11-23 20:58
2007.12.16
Вопрос про кол-во элементов в array[0..x] of string


15-1195223462
data
2007-11-16 17:31
2007.12.16
вопрос ораклистам:


2-1195488220
Pacific
2007-11-19 19:03
2007.12.16
Float