Я хотел бы обновить столбец (ColumnToUpdate), который является типом XML и существует в одной таблице (SomeTable).И я хотел бы поместить в каждую строку XML, содержащий список с новым GUID
. Я знаю, как обновить XML, вставляя XML, но я не знаю, как создать новый GUID для каждой строки.Когда я назначаю GUID какой-то переменной в T-SQL ->, то в нерабочем состоянии это будет то же значение.
UPDATE SomeTable
SET ColumnToUpdate.modify('insert
<SomeTag>,
<ID Value=sql:variable(NEWID())/ID>,
<SomeOtherTag>MySpecificValue1</SomeOtherTag>,
<Tag3>True</Tag>,
</SomeTag>,
<SomeTag>
<ID Value=sql:variable(NEWID())/ID>,
<SomeOtherTag>MySpecificValueTotallyDiffrent</SomeOtherTag>,
<Tag3>False</Tag>,
</SomeTag>
<SomeTag>
<ID Value=sql:variable(NEWID())/ID>,
<SomeOtherTag>SomeOtherName</SomeOtherTag>,
<Tag3>False</Tag>,
</SomeTag>
<SomeTag>
<ID Value=sql:variable(NEWID())/ID>,
<SomeOtherTag>SomeOtherOtherName</SomeOtherTag>
<Tag3>False</Tag>
</SomeTag>
(/SomeParentTag/childTag)[1]')
ДО
<someParentTag>
</childTag>
</someParentTag>
ПОСЛЕ
<someParentTag>
<childTag>
<SomeTag>
<ID Value=GENERATED_NEW_GUID/>
<SomeOtherTag>MySpecificValue1</SomeOtherTag>
<Tag3>True</Tag>
</SomeTag>
<SomeTag>
<ID Value=GENERATED_NEW_GUID1/>
<SomeOtherTag>MySpecificValueTotallyDiffrent</SomeOtherTag>
<Tag3>False</Tag>
</SomeTag>
<SomeTag>
<ID Value=GENERATED_NEW_GUID3/>
<SomeOtherTag>SomeOtherName</SomeOtherTag>
<Tag3>Fasle</Tag3>
</SomeTag>
<SomeTag>
<ID Value=GENERATED_NEW_GUID4/>
<SomeOtherTag>SomeOtherOtherName</SomeOtherTag>
<Tag3>Fasle</Tag3>
</SomeTag>
</childTag>
</someParentTag>
Эти направляющие должны быть уникальными, а также должны быть уникальными для других рядов