Обновите узлы XML на основе значения узла в SQL Server. - PullRequest
0 голосов
/ 25 июля 2011

В моей таблице col 1 ,col 2 ,col 3. col 3 хранит XML. Я хочу обновить узлы Name,Signedby,userid,title,status,lastmodified на основе узла "Имя".

XML-файл:

<SignatureSummary>
  <SectionList>
    <Section>
       <Name>A</Name>
       <SignedBy></SignedBy>
       <UserId></UserId>
       <Title></Title>
       <Status></Status>
       <LastModifiedOn></LastModifiedOn>
    </Section>
    <Section>
       <Name>B</Name>
       <SignedBy />
       <UserId />
       <Title />
       <Status />
       <LastModifiedOn />
    </Section> 
  </SectionList>
</SignatureSummary>

1 Ответ

0 голосов
/ 25 июля 2011

Попробуйте что-то вроде этого:

SELECT 
     Col1, Col2,
     Section.value('(Name)[1]', 'VARCHAR(50)') AS 'Name',
     Section.value('(SignedBy)[1]', 'VARCHAR(50)') AS 'SignedBy',
     Section.value('(UserId)[1]', 'VARCHAR(50)') AS 'UserId',
     Section.value('(Title)[1]', 'VARCHAR(50)') AS 'Title',
     Section.value('(Status)[1]', 'VARCHAR(50)') AS 'Status',
     Section.value('(LastModifiedOn)[1]', 'DATETIME') AS 'Last Modified On'
FROM
     dbo.YourTable
CROSS APPLY
     Col3.nodes('/SignatureSummary/SectionList/Section') AS Sig(Section)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...