我需要帮助,使用单个过程>
将不同格式的xml数据插入SQL Server数据库前:
<Items>
<item></item>
<item></item>
<item></item>
</Items>
<Products>
<product></product>
<product></product>
<product></product>
</Products>
所以我需要一个过程将数据插入到数据库中,并将xml作为输入。 (我有近20个xml格式),我只传递一个xml作为输入但不是全部。
此致 Jayachandra
答案 0 :(得分:0)
你可以尝试一下:
create procedure spInsertData
(
@data xml
)
as
begin
set nocount on
if @data.exist('/Items') = 1
begin
insert into Items (Name)
select T.c.value('text()[1]', 'nvarchar(100)')
from @data.nodes('/Items/Item') T(c)
where not exists (select 1 from Items where Name = T.c.value('text()[1]', 'nvarchar(100)'))
return;
end
else if @data.exist('/Products') = 1
begin
insert into Products (Name)
select T.c.value('text()[1]', 'nvarchar(100)')
from @data.nodes('/Products/Product') T(c)
where not exists (select 1 from Products where Name = T.c.value('text()[1]', 'nvarchar(100)'))
return;
end
-- etc.
end