Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.034 c
9-1120194150
@!!ex
2005-07-01 09:02
2005.11.20
Direct X Alpha Blending и VertexFog


14-1130139299
Nikolay M.
2005-10-24 11:34
2005.11.20
Кто-нибудь ощущает магнитные бури?


4-1126843766
SergeyGood
2005-09-16 08:09
2005.11.20
Функция CreateProcessWithLogonW


14-1130579720
Mambo
2005-10-29 13:55
2005.11.20
View Source in MS IE


4-1127021710
Dot
2005-09-18 09:35
2005.11.20
WinSock





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский