Вставка нескольких строк в один 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?

+1587
17 янв. '09 в 5:55
источник поделиться
4 ответа

В SQL Server 2008 вы можете вставить несколько строк, используя один оператор SQL INSERT.

INSERT INTO MyTable ( Column1, Column2 ) VALUES
( Value1, Value2 ), ( Value1, Value2 )

Для справки см. курс MOC 2778A - Запись SQL-запросов в SQL Server 2008.

+2130
17 янв. '09 в 7:14
источник

Если вы вставляете в одну таблицу, вы можете написать свой запрос следующим образом (возможно, только в MySQL):

INSERT INTO table1 (First, Last)
VALUES
    ('Fred', 'Smith'),
    ('John', 'Smith'),
    ('Michael', 'Smith'),
    ('Robert', 'Smith');
+780
17 янв. '09 в 6:10
источник
другие ответы

Связанные вопросы


Похожие вопросы

ПРИМЕЧАНИЕ.. Этот ответ предназначен для SQL Server 2005. Для SQL Server 2008 и более поздних версий в других ответах есть гораздо лучшие методы.

Вы можете использовать INSERT с SELECT UNION ALL:

INSERT INTO MyTable  (FirstCol, SecondCol)
    SELECT  'First' ,1
    UNION ALL
SELECT  'Second' ,2
    UNION ALL
SELECT  'Third' ,3
...

Только для небольших наборов данных, хотя это должно быть хорошо для ваших 4 записей.

+131
17 янв. '09 в 6:16
источник
Операторы

INSERT, которые используют синтаксис VALUES, могут вставлять несколько строк. Для этого включите несколько списков значений столбцов, каждый из которых заключен в круглые скобки и разделен запятыми.

Пример:

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
+80
01 апр. '09 в 14:07
источник

Посмотрите другие вопросы по меткам или Задайте вопрос