Я хочу добавить новый атрибут ко всем элементам, для которых в списке имен найдено значение @Name.
Это то, что у меня так далеко; это работает, но обновляет только один узел за раз. Я должен изменить значение «PatientNames» для каждого случая, который мне нужно обновить.
update ListDataFormatter_Test
SET FieldDefinition.modify('
insert attribute PlainTextPersonNotification {"True"}
into (/Fields/Field[@Name="PatientNames"])[1]
')
Я бы хотел, чтобы он мог обновляться с помощью одной команды, основанной на списке, подобном предложению 'IN' в стандартном SQL.
update ListDataFormatter_Test
SET FieldDefinition.modify('
insert attribute PlainTextPersonNotification {"True"}
into (/Fields/Field[@Name in ("PatientNames", "ProviderNames", "PracticeSettingsName", "PracticeSettingsMainAddresses", "PracticeSettingsPhones")])[1]')
FieldDefinition - это XML, и пример того, как это выглядит, выглядит следующим образом:
<Fields>
<CalledDataFormatter Uid="9D7520C3-B507-463F-9CFD-18BDE5A74677" Prefix="PrimaryCare" />
<Field Name="PatientNames" Layout="Name" />
<Field Name="PatientPrimaryAddresses" Layout="Address" />
<Field Name="PatientSecondaryAddresses" Layout="Address" />
<Field Name="PatientDOB" Layout="Date" />
<Field Name="PracticeSettingsName" Layout="Date" />
Я получаю правильные результаты, но мне нужно создать отдельную команду обновления для каждого значения @Name, которое я хочу изменить.
<Fields>
<CalledDataFormatter Uid="9D7520C3-B507-463F-9CFD-18BDE5A74677" Prefix="PrimaryCare" />
<Field Name="PatientNames" PlainTextPersonNotification="True" Layout="Name" />
<Field Name="PatientPrimaryAddresses" Layout="Address" />
<Field Name="PatientSecondaryAddresses" Layout="Address" />
<Field Name="PatientDOB" Layout="Date" />
<Field Name="PracticeSettingsName" PlainTextPersonNotification="True" Layout="Date" />
Мой список значений @Name теперь невелик, но с каждым собранием он растет.