Добавить переменную как атрибут к подузлам XML в TSQL - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь добавить значение предварительно определенной переменной к каждому отдельному подузлу моего XML. Я нашел этот вопрос ТАК вопрос и его ответ, который выглядит довольно аккуратно для меня.

Однако я не могу использовать переменную @modification_time в качестве входных данных для атрибута.

DECLARE @xml XML=
N'<ContentTemplate>
  <Tab Title="Lesson">
    <Section Title="Lesson Opening" />
    <Section Title="Lesson/Activity" />
  </Tab>
  <Tab Title="Wrap Up and Assessment">
    <Section Title="Lesson Closing" />
    <Section Title="Tracking Progress/Daily Assessment" />
  </Tab>
  <Tab Title="Differentiated Instruction">
    <Section Title="Strategies - Keyword" />
    <Section Title="Strategies – Text" />
    <Section Title="Resources" />
    <Section Title="Acceleration/Enrichment" />
  </Tab>
  <Tab Title="District Resources">
    <Section Title="Related Content Items" />
    <Section Title="Other" />
  </Tab>
</ContentTemplate>';

Я не могу понять, возможно ли это и как добавить значение переменной на подузел.

DECLARE @modification_time nvarchar(30); 
SET @modification_time = FORMAT(CURRENT_TIMESTAMP,'yyyy-MM-ddTHH:mm:ss' ) ;  

SET @xml=@xml.query(
'<ContentTemplate>
{
for $t in /ContentTemplate/Tab
   return 
   <Tab Title="{$t/@Title}" PortletName="CommunitiesViewer" ModificationTime="VariableValuehere" >
   {$t/*}
   </Tab>
}
</ContentTemplate>');

SELECT @xml
...