需一次插入多筆資料時,可將資料組成 XML 文件,以 VARCHAR 傳入預存程序,再用 sp_xml_preparedocument 解析、OPENXML 映射至資料表結構、INSERT ... SELECT 批次寫入,最後 sp_xml_removedocument 釋放記憶體。附最小可執行範例。
DECLARE @xml NVARCHAR(2000) = N'
';
DECLARE @idoc INT;
EXEC sp_xml_preparedocument @idoc OUTPUT, @xml;
INSERT INTO tbl (Name, Intro)
SELECT Name, Intro
FROM OPENXML(@idoc, N'/root/dbo.tbl')
WITH (Name VARCHAR(50), Intro VARCHAR(200));
EXEC sp_xml_removedocument @idoc;