Могу ли я анализировать только один узел в xml одновременно на сервере sql? - PullRequest
0 голосов
/ 31 марта 2011

Если у меня есть следующий xml:

<Main>
  <Group>
    <Insert />
  </Group>

  <Group>
    <Insert />
  </Group>

  ...
</Main>

Я знаю, что если я использую openxml(@xml, 'Main/Group/Insert',1), я буду анализировать все <Insert>.

Есть ли способ, которым я могу прочитать только один узел группы, проанализировать его узел вставки, а затем прочитать следующий узел группы и разобрать его узел вставки?

1 Ответ

0 голосов
/ 31 марта 2011

Тип данных XML OpenXML или более поздней версии и XPath обрабатывают XML как таблицу, извлекая и обрабатывая результаты как несколько строк за один раз.

То, что вы запрашиваете, эквивалентно обычной таблице SQL Server, вы можете выбрать одну запись, а затем прочитать следующую запись?Конечно, - например, использование курсоров или цикла WHILE - , но почему?

Подумайте, что вы хотите с ним сделать, и вы скоро придете к правильному обращению с ним как с набором данных иполучение проанализированных результатов в виде записей и применение логики SET к значениям, которые вы извлекаете из него.

...