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 に答える