在本教學中,將學習如何使用單個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數據查詢