Анонимный пользователь
Дополнительно
Вставка нескольких строк в одном SQL-запросе?
У меня есть несколько наборов данных для вставки одновременно, скажем, 4 строки. В моей таблице есть три столбца: Person
, Id
и Office
.
INSERT INTO MyTable VALUES ("John", 123, "Lloyds Office");
INSERT INTO MyTable VALUES ("Jane", 124, "Lloyds Office");
INSERT INTO MyTable VALUES ("Billy", 125, "London Office");
INSERT INTO MyTable VALUES ("Miranda", 126, "Bristol Office");
Могу ли я вставить все 4 строки в одном операторе SQL?
1595
4
В SQL Server 2008 вы можете вставлять несколько строк с помощью одного оператора SQL INSERT.
Для ознакомления с этим посмотрите курс MOC 2778A - Writing SQL Queries in SQL Server 2008.
Например:
Если вы вставляете в одну таблицу, вы можете написать запрос следующим образом (возможно, только в MySQL):
ПРИМЕЧАНИЕ: Этот ответ относится к SQL Server 2005. Для SQL Server 2008 и более поздних версий существуют гораздо лучшие методы, как показано в других ответах.
Вы можете использовать INSERT с SELECT UNION ALL:
Однако только для небольших наборов данных, что должно быть нормально для ваших 4 записей.
Вставить
заявления, которые используют синтаксис "ценности" можно вставить несколько строк. Для этого включают несколько списков значений столбцов, каждый из которых заключен в скобки и разделенных запятыми.Пример: