2011-11-30 132 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,歡迎你! –