我有XML的数据库,我需要导出到SQL Server DB。所以,我可以导出xml,比如: tag="value“,但是我的XML是:<tag>value</tag>。
我的问题是:
DECLARE @tempTable TABLE (
userId INT,
userName NVARCHAR(50),
password NVARCHAR(50)
)
DECLARE @xml XML
SET @xml="my_XML"
INSERT INTO @tempTable<br />
SELECT Tbl.Col.value('@userId', 'INT'),<br />
Tbl.Col.value('@userName', 'NVARCHAR(50)'),<br />
Tbl.Col.value('@password', 'NVARCHAR(50)')<br />
FROM @xml.nodes('//row') Tbl(Col)
SELECT * FROM @tempTable我可以将第一个案例转换为第二个案例吗?或者,也许还有其他方法?
XML数据示例:
<row>
<userId>1</userId>
<userName>Alpha</userName>
<password>1234</password>
</row>
<row>
<userId>2</userId>
<userName>Beta</userName>
<password>5678</password>
</row>当我尝试导入它时,我收到了包含2行空单元格的datatable。
发布于 2012-08-16 21:34:17
所以你想...?
SELECT Tbl.Col.value('userId[1]','int'),
Tbl.Col.value('userName[1]', 'NVARCHAR(50)'),
Tbl.Col.value('password[1]', 'NVARCHAR(50)')
FROM @xml.nodes('//row') Tbl(Col)https://stackoverflow.com/questions/11988146
复制相似问题