Анонімний користувач
Вставка декількох рядків в одному SQL-запиті?
Мені потрібно вставити декілька наборів даних одночасно, скажімо, 4 рядки. Моя таблиця має три стовпці: "Особа", "Ідентифікатор" і "Посада".
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
3
У SQL Server 2008 можна вставити кілька рядків за допомогою одного оператора SQL INSERT.
Для ознайомлення з цим подивіться курс MOC 2778A - Написання SQL запитів в SQL Server 2008.
Наприклад:
Якщо ви виконуєте вставку в одну таблицю, ви можете написати свій запит так (можливо, тільки в MySQL):
ПРИМІТКА: Ця відповідь стосується SQL Server 2005. Для SQL Server 2008 і пізніших версій існують набагато кращі методи, як показано в інших відповідях.
Ви можете використовувати INSERT with SELECT UNION ALL:
Але тільки для невеликих наборів даних, що повинно підійти для ваших 4 записів.