Форум: "Базы";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];
ВнизОбновление БД Access Найти похожие ветки
← →
DimonS © (2007-02-14 09:36) [0]Доброго дня всем, и с праздником тоже :)
Такой вопрос возник при обновлении таблиц Access, находящихся в разных mdb-файлах.
Пишу такой запрос.INSERT INTO Autos (Code, Number1, Number2, StateNo, BoxNo, Model ) IN "D:\Dispatcher.mdb"
SELECT Code, Number1, Number2, StateNo, BoxNo, Model
FROM Autos AS AA IN "D:\BD\Dispatcher.mdb";
Запрос выполняется, нормально. Но здесь поле Code ключевое, и изменять его нельзя, т.е. если в первой таблице есть такой номер записи, то ее нужно пропустить, не вставлять. Если дописать в конце запроса:WHERE Code<>AA.Code
,
то не вставляется вообще ни одна запись, даже если такой и нет в таблице.
Как обойти такой трабл? Перебором записей в выборке не особо хочется делать, одним запросом в любом случае намного быстрее выполняется.
← →
Sergey13 © (2007-02-14 09:42) [1]Селективный запрос не видит вставляемую таблицу. Надо отсеивать ненужные в самом селективном запросе отдельно, например с помощью exists.
← →
Sergey13 © (2007-02-14 09:44) [2]> не видит вставляемую таблицу.
в смысле ту в которую идет вставка
← →
DimonS © (2007-02-14 10:50) [3]
> Sergey13 © (14.02.07 09:42) [1]
> Надо отсеивать ненужные в самом селективном запросе отдельно,
> например с помощью exists.
А как можно отсеить их? Или перед вставкой нужно сравнить обе таблицы друг с другом и выбрать нужные для вставки записи? Тогда как это сделать? Вряд ли, наверное, одним запросом можно сделать и сравнение и вставку?
← →
Sergey13 © (2007-02-14 10:59) [4]> [3] DimonS © (14.02.07 10:50)
INSERT INTO Autos (Code, Number1, Number2, StateNo, BoxNo, Model ) IN "D:\Dispatcher.mdb"
SELECT Code, Number1, Number2, StateNo, BoxNo, Model
FROM Autos AS AA IN "D:\BD\Dispatcher.mdb";
WHERE not exists (select 1 from Autos IN "D:\Dispatcher.mdb" A1 where A1.Code<>AA.Code)
Как то так.
С синтаксисом аксеса не дружу. 8-)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.041 c