52

1つのテーブルに複数の行を挿入したい。単一の挿入ステートメントを使用してこれを行うにはどうすればよいですか?

4

7 に答える 7

101

挿入する値の各行を括弧/括弧(value1, value2, value3) で囲み、テーブルに挿入する数だけ括弧/括弧をコンマで区切ります。

INSERT INTO example
VALUES
  (100, 'Name 1', 'Value 1', 'Other 1'),
  (101, 'Name 2', 'Value 2', 'Other 2'),
  (102, 'Name 3', 'Value 3', 'Other 3'),
  (103, 'Name 4', 'Value 4', 'Other 4');
于 2012-09-11T08:50:23.653 に答える
20

SQL一括挿入ステートメントを使用できます

BULK INSERT TableName
FROM 'filePath'
WITH
(
  FIELDTERMINATOR = '','',
  ROWTERMINATOR = ''\n'',
  ROWS_PER_BATCH = 10000, 
  FIRSTROW = 2,
  TABLOCK
)

より多くの参照チェックのために

https://www.google.co.in/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=sql%20bulk%20挿入

コードからデータを一括挿入することもできます

そのためには、以下のリンクを確認してください:

http://www.codeproject.com/Articles/439843/Handling-BULK-Data-insert-from-CSV-to-SQL-Server

于 2016-10-18T07:14:41.897 に答える
7

UNION All句を使用して、テーブルで複数の挿入を実行できます。

元:

INSERT INTO dbo.MyTable (ID, Name)
SELECT 123, 'Timmy'
UNION ALL
SELECT 124, 'Jonny'
UNION ALL
SELECT 125, 'Sally'

ここをチェック

于 2012-09-11T08:51:57.913 に答える
3

UNION ALL関数 http://blog.sqlauthority.com/2007/06/08/sql-server-insert-multiple-records-using-one-insert-statement-use-of-union-all/を使用できます

于 2012-09-11T08:51:10.387 に答える
-1

CSV ファイルを最も単純な形式で宛先テーブルにインポートします。サンプルの CSV ファイルを C: ドライブに置いたので、CSV ファイルからデータをインポートするテーブルを作成します。

DROP TABLE IF EXISTS Sales 

CREATE TABLE [dbo].[Sales](
    [Region] [varchar](50) ,
    [Country] [varchar](50) ,
    [ItemType] [varchar](50) NULL,
    [SalesChannel] [varchar](50) NULL,
    [OrderPriority] [varchar](50) NULL,
    [OrderDate]  datetime,
    [OrderID] bigint NULL,
    [ShipDate] datetime,
    [UnitsSold]  float,
    [UnitPrice] float,
    [UnitCost] float,
    [TotalRevenue] float,
    [TotalCost]  float,
    [TotalProfit] float
)

次の BULK INSERT ステートメントは、CSV ファイルを Sales テーブルにインポートします。

BULK INSERT Sales
FROM 'C:\1500000 Sales Records.csv'
WITH (FIRSTROW = 2,
    FIELDTERMINATOR = ',',
    ROWTERMINATOR='\n' );
于 2020-03-07T13:54:49.893 に答える