Главная страница
    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.033 c
14-1130482664
Изобретатель
2005-10-28 10:57
2005.11.20
Подсчет контрольной суммы файлов. Новая функция!


3-1128921953
Layner
2005-10-10 09:25
2005.11.20
Через ADO не работает SQL запрос в Access, из Access нормально..


2-1131101911
syte_ser78
2005-11-04 13:58
2005.11.20
зачем нужен POST ?


14-1130263029
Arazel
2005-10-25 21:57
2005.11.20
Где взять модуль HSLUtils?


14-1130434572
GGG
2005-10-27 21:36
2005.11.20
Model Maker 6.2





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский