SQL Server插入多行記錄

在本教學中,將學習如何使用單個SQL Server INSERT語句將多行插入表中。在上一個教程中,已經學習了如何使用INSERT語句一次向表中添加(插入)一行記錄。
要一次向表中添加多行,請使用以下形式的INSERT語句:

INSERT INTO table_name (column_list)
VALUES
    (value_list_1),
    (value_list_2),
    ...
    (value_list_n);

在此語法中,不使用單個值列表,而是使用多個以逗號分隔的值列表進行插入。

使用此形式的INSERT語句,一次可以插入的行數為1000行。 如果要插入更多行,則應考慮使用多個INSERT語句,BULK INSERT或派生表。

請注意,此INSERT多行語法僅在SQL Server 2008或更高版本中受支持。

SQL Server Insert多行示例

我們將使用上一個教程中創建的promotions表進行演示。如果尚未創建promotions表,則可以使用以下CREATE TABLE語句:

CREATE TABLE sales.promotions (
    promotion_id INT PRIMARY KEY IDENTITY (1, 1),
    promotion_name VARCHAR (255) NOT NULL,
    discount NUMERIC (3, 2) DEFAULT 0,
    start_date DATE NOT NULL,
    expired_date DATE NOT NULL
);

以下語句將多個行添加到promotions表:

-- 先刪除表中的所有記錄

DELETE  FROM sales.promotions;

-- 開始插入
INSERT INTO sales.promotions (
    promotion_name,
    discount,
    start_date,
    expired_date
)
VALUES
    (
        '2020夏季促銷',
        0.15,
        '20200601',
        '20200901'
    ),
    (
        '2020秋季促銷',
        0.20,
        '20201001',
        '20201101'
    ),
    (
        '2020冬季促銷',
        0.25,
        '20201201',
        '20210101'
    );

執行上面插入語句,SQL Server發出以下消息,指示已成功插入三行 -

(3 rows affected)

通過執行以下查詢來驗證插入數據:

在本教學中,學習了如何使用另一種形式的SQL Server INSERT語句,使用一個INSERT語句一次將多行插入表中。


上一篇: SQL Server修改數據 下一篇: SQL Server數據查詢