資料庫資訊的正確性與時效性仰賴更新功能。資料更新包含新增、刪除、修改三大操作。企業管理器雖可手工新增資料,但無法應付大量匯入,必須掌握 INSERT 陳述式的完整語法與進階用法。
兩種基本形式:
varbinary 尾端 0x00 會被截除varchar/text 尾端空白會被移除;純空白字串視為零長度字串IDENTITY 欄位不可指定值,VALUES 清單中需略過column_list 順序可與資料表定義不同,但 VALUES 項目必須一一對應USE pangu;
INSERT firms (firm_id, f_name, f_intro)
VALUES (10070001, 'SQL', '制作資料庫軟體的公司');
(1 row(s) affected)
USE pangu;
INSERT firms
VALUES (10070001, 'SQL', '制作資料庫軟體的公司', 100700010007, '00-12345678', 234325, 'chengdu');
將 SELECT 結果集直接插入目標表,實現集合式批次匯入:
INSERT [INTO] { table_name | view_name | rowset_function_limited }
[ (column_list) ]
subquery
透過執行預存程序取得結果集並插入:
INSERT [INTO] { table_name | view_name | rowset_function_limited }
[ (column_list) ]
EXECUTE procedure_name
procedure_name 可為系統/使用者預存程序,或直接內嵌預存程序定義。
BULK INSERT 或 bcp 工具,效能遠優於 INSERTINSERT INTO ... SELECT 配合 TABLOCK 提示可最小化記錄TRY...CATCH 區塊包裹,配合 XACT_ABORT ONSCOPE_IDENTITY() 取得當前會話/範圍內最新身分值精通 INSERT 四大模式與進階技巧,是資料庫開發與 ETL 實作的基本功。依資料量、頻率、來源選擇最適模式,配合交易與錯誤處理,構建穩健的資料寫入管線。