XML上的Sql迭代

XML上的Sql迭代,sql,sql-server,xml,xpath,xquery,Sql,Sql Server,Xml,Xpath,Xquery,我试图从一个表中读取xml数据字段,并将该数据插入另一个数据库。XML文档如下所示: <Master> <UserIds> <id>1</id> <id>2</id> <id>3</id> <id>4</id> </UserIds> </Master> 1. 2. 3. 4. 我的想

我试图从一个表中读取xml数据字段,并将该数据插入另一个数据库。XML文档如下所示:

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

1.
2.
3.
4.
我的想法是获取一个id并插入,获取另一个id并插入,依此类推。我尝试使用xquery,但我能得到的最好结果是将所有数据放在一起,但我需要插入分开的id:/

有什么帮助吗?D:

声明@x xml
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)
设置@x='1 1. 2. 3. 4. ' 插入表名 选择T.c.值('.',int') 来自@x.nodes('//id')T(c)
声明@xml=
'
1.
2.
3.
4.
'
插入到您的表中(ID)
选择T.N.value('.',int')
从@xml.nodes('/Master/UserIds/id')作为T(N)
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)