Pertanyaan Menyisipkan beberapa baris dalam satu query SQL? [duplikat]


Pertanyaan ini sudah memiliki jawaban di sini:

Saya memiliki beberapa set data untuk dimasukkan sekaligus, katakanlah 4 baris.

Meja saya memiliki tiga kolom: Person, Id dan 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");

Bisakah saya insert semua 4 baris dalam satu SQL statement?


1335
2018-01-17 05:55


asal


Jawaban:


Di SQL Server 2008 Anda dapat memasukkan beberapa baris menggunakan pernyataan SQL INSERT tunggal.

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

Untuk referensi untuk ini lihat di Kursus MOC 2778A - Menulis SQL Queries di SQL Server 2008.

Sebagai contoh:

INSERT INTO MyTable ( Column1, Column2, Column3 )
VALUES ('John', 123, 'Lloyds Office'), 
('Jane', 124, 'Lloyds Office'), 
('Billy', 125, 'London Office'),
('Miranda', 126, 'Bristol Office');

1770
2018-01-17 07:14



Jika Anda memasukkan ke dalam satu tabel, Anda dapat menulis permintaan Anda seperti ini (mungkin hanya di MySQL):

INSERT INTO table1 (First, Last)
VALUES
    ('Fred', 'Smith'),
    ('John', 'Smith'),
    ('Michael', 'Smith'),
    ('Robert', 'Smith');

703
2018-01-17 06:10



CATATAN: Jawaban ini untuk SQL Server 2005. Untuk SQL Server 2008 dan yang lebih baru, ada banyak metode yang lebih baik seperti yang terlihat pada jawaban lainnya.

Kamu dapat memakai INSERT dengan SELECT UNION ALL:

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

Hanya untuk dataset kecil, yang seharusnya baik-baik saja untuk 4 catatan Anda.


112
2018-01-17 06:16



INSERT pernyataan yang digunakan VALUES sintaks dapat menyisipkan beberapa baris. Untuk melakukan ini, sertakan beberapa daftar nilai kolom, masing-masing diapit dalam tanda kurung dan dipisahkan dengan koma.

Contoh:

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);

69
2018-04-01 14:07