How to properly use XML parameter for Update procedure in SQL Server

后端 未结 2 882
暖寄归人
暖寄归人 2021-01-15 22:08

I am pretty new to XML and am looking for a way to use XML from an input parameter for the below part of a stored procedure (using SQL Server 2012). The XML is submitted via

2条回答
  •  谎友^
    谎友^ (楼主)
    2021-01-15 22:45

    Try updating like this.

    UPDATE A
    SET    title = b.title,
           summary = b.summary,
           post = b.post,
           departmentID = b.departmentID
    FROM   RC_Posts A
           JOIN (SELECT title=[Xml_Tab].[Cols].value('(title)[1]', 'nvarchar(100)'),
                        summary=[Xml_Tab].[Cols].value('(summary)[1]', 'nvarchar(500)'),
                        post=[Xml_Tab].[Cols].value('(post)[1]', 'nvarchar(max)'),
                        departmentID=[Xml_Tab].[Cols].value('(departmentID)[1]', 'int'),
                        PostID=[Xml_Tab].[Cols].value('(postID)[1]', 'int')
                 FROM   @xmlMain.nodes('/root') AS [Xml_Tab]([Cols])) B
             ON a.postID = b.postID 
    

提交回复
热议问题