思路
将对象封装成xml,传递给数据库,再使用解析XML将数据放入临时表
案例
declare @ExcelData_XML xml = N'<Root><Record Customer="UQ" SO_No="01247N231" Material_No="5P1704001G" Style_No="01247N231"/><Record Customer="UQ" SO_No="01247N231" Material_No="5P1704001G" Style_No="01247N231"/></Root>'
--创建临时表
IF Object_Id('tempdb.dbo.#xmlTable') is not null
drop table #xmlTable
create table #xmlTable
(
[Customer] [varchar](30) NULL,
[SO_No] [varchar](20) NULL,
[Material_No] [varchar](30) NULL,
[Style_No] [varchar](100) NULL
)
-- 解析xml并将数据插入到临时表中
if @ExcelData_XML is not null
begin
DECLARE @xmlHandle int
EXEC sp_xml_preparedocument @xmlHandle OUTPUT, @ExcelData_XML
insert #xmlTable
(
[Customer],[SO_No],[Material_No],[Style_No]
)
SELECT [Customer],[SO_No],[Material_No],[Style_No]
FROM OPENXML (@xmlHandle, '/Root/Record',1)
WITH
(
[Customer] [varchar](30),
[SO_No] [varchar](20),
[Material_No] [varchar](30),
[Style_No] [varchar](100)
)
EXEC sp_xml_removedocument @xmlHandle
end
本文详细介绍了如何通过存储过程将对象转换为XML,然后在数据库中处理并解析,以便存储和检索数据。案例展示了如何创建临时表,解析XML元素,并将其插入到表中。
1041

被折叠的 条评论
为什么被折叠?



