mmms_
Дата: 18.09.2005 20:56:55
Здравствуйте! Необходимо вставить много тысч записей в таблицу. По одно это делается, но ужасно долго, могу сделать пакет по 10 (50..100..) инсертов, и зпустить это как 1 запрос, так ругается Access, что за пределами запроса обнаруженны символы, хотя это идет 2й insert. Разделял точкой запятой, писал GO после каждого инсерта, что то никак дойти не могу, возможно ли пакетом вставить записи в БД, если возможно, то как разделять команды в нутри SQL пакета?
INSERT INTO ip (i1_1, i1_2, i1_3, ip1_4, i2_1, i2_2, i2_3, i2_4, t1, t2, suff, country) VALUES (3,0,0,0,4,17,135,31,'50331648','68257567','US','Un');
INSERT INTO ip (i1_1, i1_2, i1_3, ip1_4, i2_1, i2_2, i2_3, i2_4, t1, t2, suff, country) VALUES (4,17,135,32,4,17,135,63,'68257568','68257599','CA','Ca');
...
3й, 4й и т.д. запросы
вадя
Дата: 18.09.2005 22:16:57
я не проинсерты спрашивал, а про сами данные
3,0,0,0,4,17,135,31,'50331648','68257567','US','Un'
откуда они?
из екселя, тхт, или много тысяч ты вручную набиваешь?
зачем инсерты вставлять в акс?
или у тебя эти инсерты кемто формируются ? тогда где ? и откуда ты их вытаскиваешь?
ЗЫ
твой первоначальный подход просто неправильный,
поэтоиу задачу нада знать с предыдушего шага.
Night_Stalker
Дата: 11.09.2006 17:42:12
Рискну поднять тему заново, чтобы не начинать новой...
Надо сделать вставку в таблицу аццесс новых строк, причём желательно это делать не по одной, а какими-нибудь группами ( для ускорения обработки ).
Единственный способ, который я нашёл на форумах это написать запрос в форме
INSERT INTO Table ( Column1 )
SELECT T.Column1 FROM (
SELECT TOP 1 'fgsdfg' AS Column1 FROM Table
UNION ALL
SELECT TOP 1 'sdfgsdg' AS Column1 FROM Table
UNION ALL
...
SELECT TOP 1 'sdfsdfs' AS Column1 FROM Table
) AS T
такой запрос работает, но смущает то что для создания каждой строки для вставки мы используем запрос к реальной таблице ( ТОР 1 - без этого нельзя иначе нарываемся на ошибку: "В качестве входных данных запрос должен иметь хотя бы одну таблицу или запрос" ), а объединить несколько вставок информации в один запрос хочеться именно в плане производительности...