在XML for中有数据,我想将该XML存储在SQL Server表中。我创建了一个数据类型为xml
的列,并尝试将XML数据存储在该新创建的列中,但是在INSERT
上出现错误:
这是Insert
语句:
INSERT INTO UserDeatailtbl(RoleXml)
SELECT Y.ID.value('./RoleXml[1]', 'XML')
FROM @UserDetailsXML.nodes('UserDetails/UserDetailsRow') AS Y(ID)
最佳答案
尝试使用.query()
运算符而不是.value()
-像这样:
INSERT INTO UserDetailtbl(RoleXml)
SELECT ID.query('.')
FROM @UserDetailsXML.nodes('UserDetails/UserDetailsRow/RoleXml') AS Y(ID)
也许可以,因为
.query()
运算符按定义返回了XML片段。如果它不起作用,我们需要更多地了解您的XML结构-您可以向我们展示存储在
@UserDetailsXML
变量中的XML的示例吗?您要插入UserDetailTbl.RoleXml
的哪一部分?