|
Несколько Insert подряд без использования цикла
|
|||
---|---|---|---|
#18+
Доброе время суток, форумчане, В большинстве СУБД, можно выполнить сразу несколько "insert" подряд без цикла. Вопрос давношний, но не хотелось бы в цикле вставлять строки в БД и сеть напрягать. Можно ли в FireBird такое сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 17:17 |
|
Несколько Insert подряд без использования цикла
|
|||
---|---|---|---|
#18+
ты имеешь в виду BULK INSERT, или шо? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 17:21 |
|
Несколько Insert подряд без использования цикла
|
|||
---|---|---|---|
#18+
Kos-2010не хотелось бы в цикле вставлять строки в БД и сеть напрягать. А ты используй препарированные запросы с параметрами, она и не напряжётся. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 17:30 |
|
Несколько Insert подряд без использования цикла
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 17:35 |
|
Несколько Insert подряд без использования цикла
|
|||
---|---|---|---|
#18+
В Delphi, в цикле формируются значения, которые идут в БД, в качестве новых строк ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 17:45 |
|
Несколько Insert подряд без использования цикла
|
|||
---|---|---|---|
#18+
Hello, Kos-2010! You wrote on 19 мая 2015 г. 17:51:26: Kos-2010> В Delphi, в цикле формируются значения, которые идут в БД, в качестве > новых строки шо? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 17:51 |
|
Несколько Insert подряд без использования цикла
|
|||
---|---|---|---|
#18+
Kos-2010В Delphi, в цикле формируются значения, которые идут в БД, в качестве новых строк Используй TIBSQL и препарированный запрос с параметрами. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 17:52 |
|
Несколько Insert подряд без использования цикла
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, А, это приблизительно так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
только вместо TIBSQL, я использую TQuery - если можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 20:38 |
|
Несколько Insert подряд без использования цикла
|
|||
---|---|---|---|
#18+
Kos-2010это приблизительно так: Нет, это совершенно не так. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 20:55 |
|
Несколько Insert подряд без использования цикла
|
|||
---|---|---|---|
#18+
Kos-2010вместо TIBSQL, я использую TQuery - если можно? Нельзя. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 20:59 |
|
Несколько Insert подряд без использования цикла
|
|||
---|---|---|---|
#18+
самый простой вариант выполнить несколько insert подряд, imho, это выполнить несколько insert подряд в чем суть вопроса-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 22:05 |
|
Несколько Insert подряд без использования цикла
|
|||
---|---|---|---|
#18+
krapotkin, Самый простой - не значит правильный. Kos-2010, Читать вот эту статью полностью, раздел «Параметризированные запросы» - особенно внимательно. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 22:08 |
|
Несколько Insert подряд без использования цикла
|
|||
---|---|---|---|
#18+
miwaonline, Спасибо за подсказку, обязательно изучу. Только сейчас "добью" "Dimitry Sibiryakov" своим невежеством... вот что в результате у меня получилось (это на счет " TIBSQL и препарированный запрос с параметрами" ): Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
Это все работает. Но с одной неувязочкой: поле "ID" - у меня генерируется на сервере (знаю что это можно избежать с помощью перестройки запроса), но всеже. И без заполнения этого поля приложением у меня - ошибка: "Dynamic SQL Error SQL error code = -804 Count of read-write columns does not equal count of values" А так все замечательно отрабатыват ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 22:35 |
|
Несколько Insert подряд без использования цикла
|
|||
---|---|---|---|
#18+
krapotkin, Та захотелось узнать, и это обычно на 100% так, что есть более компактный способ, вставить сейчас 50 строк, потом может быть 1000. И 1000 раз выполнять запрос на вставку (как бы не хотелось) - можно конечно, но нехотелось бы :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 22:38 |
|
Несколько Insert подряд без использования цикла
|
|||
---|---|---|---|
#18+
Kos-2010Только сейчас "добью" Добил. Вот скажи мне, нахрена ты спрашивал про "напряг сети" в стартовом посте, если выбираешь самые тормозные и напряжные способы работы? По транзакции на каждую вставляемую запись? Да Вы, батенька, изверг. И синтаксис SQL тоже учить надо было ещё вчера. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 22:41 |
|
Несколько Insert подряд без использования цикла
|
|||
---|---|---|---|
#18+
Kos-2010, Изучи как правильно писать insert (полная форма) в твоем случае Код: sql 1.
1. Зачем делать SQL.Clear если следующая команда SQL.Text := '...' ? 2. Prepare делать только один раз, хотя IBX думаю делает автоматически перед первым ExecQuery 3. Commit нужно делать не после каждого insert, а не чаще одного раза в 1000 вставок ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 22:42 |
|
Несколько Insert подряд без использования цикла
|
|||
---|---|---|---|
#18+
Спасибо - запрос поправил (я знал, я знал, но забыл :-() - и "Commit" вынес за "with", и т.д. так что в цикле только значения присваиваю ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 00:23 |
|
Несколько Insert подряд без использования цикла
|
|||
---|---|---|---|
#18+
например такKos-2010, use execute block Код: sql 1. 2. 3. 4. 5. 6. 7.
не обращайте на меня внимания, продолжайте разговор :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 15:53 |
|
|
start [/forum/topic.php?fid=40&fpage=76&tid=1562840]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
90ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 266ms |
total: | 454ms |
0 / 0 |