2011-11-30 110 views
4

我想从表中读取xml数据字段并将此数据插入到另一个数据库中。 XML文档看起来是这样的:通过XML的Sql迭代

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

我的想法是让1号和插入,再弄和插入,等等。我尝试了一个xquery,但最好的我可以得到的是所有的数据在一起,但我需要插入id分隔:/

任何帮助吗? d:

回答

0
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) 
+0

非常感谢Mikael :) – Inm0r74L

1
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

非常感谢基里尔:) – Inm0r74L

+0

@TeKNodUKe,欢迎你! –