1

<test> <DBO.JOB> <JOB_NO>234234</JOB_NO> <CREW_NO>64850</CREW_NO> <BEGINDATE></BEGINDATE> <ENDDATE></ENDDATE> </DBO.JOB> <DBO.JOB> <JOB_NO>234</JOB_NO> <CREW_NO>234</CREW_NO> <BEGINDATE></BEGINDATE> <ENDDATE></ENDDATE> </DBO.JOB> <DBO.JOB> <JOB_NO>324</JOB_NO> 234234` _

我想知道如何仅使用 OPEN XML 解析这些标签并将它们更新为表 DBO.JOB

4

1 回答 1

0

试试这个:

DECLARE @xml NVARCHAR(1000) =
'<test> 
    <DBO.JOB> 
        <JOB_NO>234234</JOB_NO> 
        <CREW_NO>64850</CREW_NO> 
        <BEGINDATE></BEGINDATE> 
        <ENDDATE></ENDDATE>     
    </DBO.JOB> 
    <DBO.JOB> 
        <JOB_NO>234</JOB_NO> 
        <CREW_NO>234</CREW_NO> 
        <BEGINDATE></BEGINDATE> 
        <ENDDATE></ENDDATE> 
    </DBO.JOB> 
</test>'

DECLARE @hdoc int
EXEC sp_xml_preparedocument @hdoc OUTPUT, @xml

INSERT  INTO DBO.JOB(JOB_NO, CREW_NO, BEGINDATE, ENDDATE)
SELECT  *
FROM    OPENXML(@hdoc, '/test/DBO.JOB', 2)
WITH    (
        JOB_NO INT,
        CREW_NO INT,
        BEGINDATE DATETIME,
        ENDDATE DATETIME
)

EXEC sp_xml_removedocument @hdoc
于 2013-03-07T08:18:55.203 回答