Sql итерация по XML - PullRequest
       12

Sql итерация по XML

4 голосов
/ 30 ноября 2011

Я пытаюсь прочитать поле данных xml из таблицы и вставить эти данные в другую базу данных.XML-документ выглядит так:

<Master>
   <UserIds>
       <id>1</id>
       <id>2</id>
       <id>3</id>
       <id>4</id>
  </UserIds>
</Master>

Моя идея заключалась в том, чтобы получить 1 идентификатор и вставить, получить другой и вставить это, и так далее.Я пытался с xquery, но лучшее, что я могу получить, это все данные вместе, но мне нужно вставить идентификатор отдельно: /

Любая помощь?D:

Ответы [ 2 ]

1 голос
/ 30 ноября 2011
DECLARE @x xml
SET @x = '<Master>
   <UserIds>
       <id>1</id>
       <id>2</id>
       <id>3</id>
       <id>4</id>
  </UserIds>
</Master>'

INSERT TableName
    SELECT T.c.value('.', 'int' )
    FROM @x.nodes('//id') T(c)
0 голосов
/ 01 декабря 2011
declare @xml xml = 
'<Master>
   <UserIds>
       <id>1</id>
       <id>2</id>
       <id>3</id>
       <id>4</id>
  </UserIds>
</Master>
'

insert into YourTable(ID)
select T.N.value('.', 'int')
from @xml.nodes('/Master/UserIds/id') as T(N)
...