Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Множественная вставка [D7, Access]


Vladimir_First ©   (2008-04-05 23:45:00) 

Здравствуйте, порыскал по форуму, но не нашел.
Как выполнить вставку Insert для Microsoft Access сразу нескольких записей.
Синтаксис MySQL неподдерживается:
ADOCommand1.Text :=  INSERT INTO table1 ( Name) VALUES ('Вася'), ('Петя'), ('Вова');
ADOCommand1.Execute;
Хотелось бы выполнить вставку трех строк одной командой, а не тремя. Такое возможно?


DiamondShark   (2008-04-09 15:01:00) [1]


> И есть у меня сомнение ,что запрос на объединение нескольких
> тысяч записей сработает еще хуже, чем покомандная вставка.

Если ты собрался тысячи записей передавать литералами в тексте запроса, то любой метод сработает хуже.


Sergey13   (2008-04-07 15:48:00) [2]

> [4] Vladimir_First   (06.04.08 00:35)
> И есть у меня сомнение ,что запрос на объединение нескольких
> тысяч записей сработает еще хуже

А откуда берутся эти тысячи записей? Извне или они уже есть в БД?


ANB   (2008-04-07 15:41:00) [3]


> ну или хотя бы Microsoft SQL

тут есть. см. АП (1)


Johnmen   (2008-04-06 00:36:00) [4]


> ты даже заметить разницу не сумеешь.

Подписываюсь.


Vladimir_First   (2008-04-06 00:35:00) [5]

Ну это просто банально! Конечно же речь идет не о трех записях!
И есть у меня сомнение ,что запрос на объединение нескольких тысяч записей сработает еще хуже, чем покомандная вставка.
Как я уже привел пример в MySQL массовая вставка производится одной командой Insert.
Есть ли такая возможность в синтаксисе Microsoft Access (ну или хотя бы Microsoft SQL)?


Anatoly Podgoretsky   (2008-04-06 00:23:00) [6]

> Vladimir_First  (06.04.2008 0:01:02)  [2]

Групповая вставка конечно быстрее, но какая разница для трех записей, ты даже заметить разницу не сумеешь.


Vladimir_First   (2008-04-06 00:01:00) [7]


> А у тебя что религиозное, что ты не хочешь сделать три запроса.

:)

У меня предвзятое мнение, что одна команда на вставку от клиента серверу выполнится быстрее, чем по одной.
Скажите, что я ошибаюсь и, возможно, я поменяю свои религиозные убеждения.


Anatoly Podgoretsky   (2008-04-05 23:53:00) [8]

> Vladimir_First  (05.04.2008 23:45:00)  [0]

Примерно так
INSERT INTO table1 ( Name)  SELECT FROM (SELECT ''Вася'' UNION SELECT 'Петя' UNION SELECT 'Вова')

Не на всех базах подобное работает.
А у тебя что религиозное, что ты не хочешь сделать три запроса.


Наверх

Титульная страница Поиск, карта сайта Написать письмо