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

Вниз

запрос на обновление   Найти похожие ветки 

 
pavel_guzhanov ©   (2005-10-11 13:26) [0]

Здравствуйте.
Имеется база данных InterBase, IBQuery имеет свойство SQL: Select name from personal.
Имеется база MSSQL Server. В этой базе тоже есть таблица Personal. Мне надо сделать так, чтобы из таблицы Personal базы MSSQL удалились записи, поле name у которых имеет значения, которых нет в таблице Personal базы InterBase.
Подскажите, как это сделать....
Спасибо.


 
Desdechado ©   (2005-10-11 13:31) [1]

если таблица ни на что не завязана, то проще убить все и создать те, что есть в IB


 
Val ©   (2005-10-11 13:32) [2]

укажите для начала компоненты доступа.


 
pavel_guzhanov ©   (2005-10-11 13:35) [3]


> то проще убить все и создать те, что есть в IB


Не пройдет, т.к. в MSSQL кроме имени имеются уникальные идентификаторы, которые больше неоткуда взять.


> укажите для начала компоненты доступа


InterBase - IBDatabase и IBQuery
MSSQL - ADOConnection и ADOQuery


 
Val ©   (2005-10-11 13:57) [4]

Бегаем по НД. То есть, выбираем все name из MSSQL.Personal, бежим по ним в цикле и делаем запросы к IB.Personal с параметром name. Если ничего не возвращает, то посылаем в базу MSSQL запрос на удаление с этим же параметром.


 
Sergey_Masloff   (2005-10-11 14:07) [5]

Val ©   (11.10.05 13:57) [4]
>Бегаем по НД
Да, быстро будет...

pavel_guzhanov ©   (11.10.05 13:26)  
1) Перегоняем интербейзовскую таблицу в MSSQL
2) Делаем закрытый джойн 2 таблиц - "родной" и "интербейзовской"
3) все что не попали в пересечение - грохаем.


 
pavel_guzhanov ©   (2005-10-11 14:16) [6]

Спасибо


 
Val ©   (2005-10-11 17:10) [7]

>[5] Sergey_Masloff   (11.10.05 14:07)
думаете ваш вариант безусловно быстрее? :)


 
Sergey_Masloff   (2005-10-11 17:30) [8]

Val ©   (11.10.05 17:10) [7]
>думаете ваш вариант безусловно быстрее? :)
Если таблицы большие - 100% быстрее проверено занусси.
Не знаю как для MSSQL для Oracle я добивался ускорения на 2 порядка. Сам бы не поверил пока не попробовал. Пакетная загрузка работает очень быстро, джойн вообще та операция которую SQL сервера делают лучше всего ;-)


 
msguns ©   (2005-10-11 17:35) [9]

Приходилось делать подобное, и не единожды. Комбинации были разные, от парадокс-интербэйз, до мускул-скала. Пришел к выводу, что лучше "пробежки" по исходному со вставкой (запросами) в целевой нету. За исключением ситуаций, когда надо сделать данную процедуру регулярной.


 
Val ©   (2005-10-11 17:38) [10]

>[8] Sergey_Masloff   (11.10.05 17:30)
Вот видите - все дело в "если". А "если" могут быть еще. Поэтому, думаю, мой вариант имеет права на жизнь не менее вашего и фикать его не гут :)


 
Sergey_Masloff   (2005-10-11 17:49) [11]

Val ©   (11.10.05 17:38) [10]
Ладно договорились. Я и не собирался фикать, честное слово. Просто сегодня целый день на взводе может форму выбрал не лучшую для возражения. В любом случае если вы расценили мой пост типа "мой вариант - шоколадный ваш г..но" то это оценка ошибочная. Я этого не подразумевал.



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

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

Наверх




Память: 0.49 MB
Время: 0.072 c
3-1129040707
AlexLines
2005-10-11 18:25
2005.11.20
поиск и маркировка поисковых фраз


2-1130410496
kosha
2005-10-27 14:54
2005.11.20
Перегрузка виртуального метода


14-1130069809
Profi
2005-10-23 16:16
2005.11.20
Просто приколы какие-то!


1-1130499343
Шурик Ш
2005-10-28 15:35
2005.11.20
Вопрос про события TValueListEditor


2-1130528004
злобная танька
2005-10-28 23:33
2005.11.20
Memo