複数行 - sqlserver カンマ区切り 結合




1つのSQLクエリに複数の行を挿入しますか? (3)

私は一度に挿入する複数のデータセット、例えば4行を持っています。

私のテーブルにはPersonIdOffice 3つのカラムがあります。

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");

1つのSQL statement 4行すべてをinsertできSQL statementか?


SQL Server 2008では、単一のSQL INSERTステートメントを使用して複数の行を挿入できます。

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

これを参照するには、MOCコース2778A - SQL Server 2008でのSQLクエリの作成をご覧ください。

例えば:

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

VALUES構文を使用するINSERTステートメントは、複数の行を挿入できます。 これを行うには、括弧で囲まれカンマで区切られた複数の列値のリストを含めます。

例:

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

単一のテーブルに挿入する場合は、次のようにクエリを書くことができます(多分MySQLでのみ):

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




insert