Вниз
Скачать: CL | DM;

Множественная вставка   Найти похожие ветки 

← →
Vladimir_First   (2008-04-05 23:45) [0]

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


← →
Anatoly Podgoretsky ©   (2008-04-05 23:53) [1]

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

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

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


← →
Vladimir_First   (2008-04-06 00:01) [2]


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

:)

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


← →
Anatoly Podgoretsky ©   (2008-04-06 00:23) [3]

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

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


← →
Vladimir_First   (2008-04-06 00:35) [4]

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


← →
Johnmen ©   (2008-04-06 00:36) [5]


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

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


← →
ANB   (2008-04-07 15:41) [6]


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

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


← →
Sergey13 ©   (2008-04-07 15:48) [7]

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

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


← →
DiamondShark ©   (2008-04-09 15:01) [8]


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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
2-1220596870
_Alex
2008-09-05 10:41
2008.10.12
CreateFileMapping не возвращает ошибку, когда отключен swap-файл


15-1219085284
programmer90
2008-08-18 22:48
2008.10.12
Нужен инсталлятор


3-1207905476
Новичек
2008-04-11 13:17
2008.10.12
Поля BOLLEAN в FireBird


2-1220425410
DelphiLexx
2008-09-03 11:03
2008.10.12
в rxlib есть ф-ция ReplaceStr, есть ли аналог в самом Delphi


1-1199816989
Wolf
2008-01-08 21:29
2008.10.12
Как установить лимит по времени на некую процедуру ?




   Наверх