1
我有兩個不同的XML文件,我必須通過存儲過程更新兩個SQL表。一種格式爲<InvoiceNumber>17-I-36528</InvoiceNumber>
,工作正常。 第二個文件格式爲 <field name="ABCD" type="String" identifier="d167bea7-2ec6-498e-9a8a-3d0e6f37b6b3" value="EFGF" />
此文件不更新表格。 我在這裏做錯了什麼?提前致謝。從XML更新SQL表
不工作的XML文件
<?xml version="1.0" encoding="utf-8"?>
<document name="COM1-0000000011" type="Commercial_Doc" identifier="02fa318a-bd80-4f73-97bb-141884fbcff5" description="" client="Level 4" process="LEVEL 4 - Commercial" deleted="False">
<field name="Email_From" type="String" identifier="d167bea7-2ec6-498e-9a8a-3d0e6f37b6b3" value="[email protected]" />
<field name="Email_To" type="String" identifier="9f9ad742-502b-44e4-b223-ae048b395bd3" value="[email protected]" />
<field name="Email_Subject" type="String" identifier="cb7c7194-bc4c-4e44-b9b6-7643f1faca13" value="Second set" />
<field name="Email_EmailDate" type="DateTime" identifier="7476b62b-ec35-432b-8d50-572ed504133e" value="03/18/2015 04:05:09" />
<field name="Email_LocalDate" type="DateTime" identifier="ce571c82-440a-4ffd-8ee9-ebf53c1e9071" value="03/18/2015 09:35:09" />
<field name="Email_ReceivedDate" type="String" identifier="f007da05-2ffa-4290-9f28-6cd15de3c5b1" value="03/18/2015 09:35:10" />
<field name="Email_Charset" type="String" identifier="237a7237-b57a-404c-9fdb-39eca5a0d197" value="us-ascii" />
<field name="Email_PreferredCharset" type="String" identifier="f577b3b5-46a2-45ea-8db5-f1b8dc478d2b" value="" />
<field name="OutputImageFile" type="String" identifier="bec3db3f-21c0-4491-99e2-ea32e0f2b788" value="E:\Level 4\ComDoc\Output\02fa318a-bd80-4f73-97bb-141884fbcff5.PDF" />
<table name="itemdata" />
</document>
存儲過程
CREATE PROCEDURE [dbo].[prc_Commercial_Invoice_XML]
(
@XMLdata XML
)
AS
BEGIN
INSERT INTO [DocumentDetails]
([Name]
,[Type]
,[Identifier]
,[Value]
,[ItemType])
SELECT
[Name] = TempTable.t.value('Email_From[1]','nvarchar(120)')
,[Type] = TempTable.t.value('Email_To[1]','nvarchar(120)')
,[Identifier] = TempTable.t.value('Email_Subject[1]','nvarchar(120)')
,[Value] = TempTable.t.value('Email_ReceivedDate[1]','nvarchar(120)')
,[ItemType] = TempTable.t.value('Email_Charset[1]','nvarchar(120)')
FROM
@XMLdata.nodes('/')AS TempTable(t)
END
創建表
CREATE TABLE [dbo].[DocumentDetails](
[Id] [int] IDENTITY(1,1) NOT NULL,
[ItemType] [varchar](120) NULL,
[Name] [varchar](120) NULL,
[Type] [varchar](120) NULL,
[Identifier] [varchar](120) NULL,
[Value] [varchar](120) NULL,
CONSTRAINT [PK_DocumentDetails] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
非常感謝。它的工作。 – 2015-03-25 07:23:54