XML上的Sql迭代
我试图从一个表中读取xml数据字段,并将该数据插入另一个数据库。XML文档如下所示: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. 我的想
<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)