【发布时间】:2017-10-23 10:51:14
【问题描述】:
我需要使用 xml 构建一个表。
这是我的 xml:
<root>
<Child>c1</Child>
<Child>c2</Child>
<Child>c3</Child>
<Child>c4</Child>
<ID>9908</ID>
</root>
我的尝试:
DECLARE @ixml INT,
@Param VARCHAR(max)='<root>
<Child>c1</Child>
<Child>c2</Child>
<Child>c3</Child>
<Child>c4</Child>
<ID>9908</ID>
</root>'
EXEC sp_xml_preparedocument @ixml OUTPUT, @Param
Select Child,ID
FROM OPENXML(@ixml, 'root')
WITH
(
Child [nVARCHAR](max) 'Child',
ID [INT] 'ID'
)
----------
实际输出:
Child | ID
c1 | 9908
预期输出:
Child | ID
c1 | 9908
c2 | 9908
c3 | 9908
c4 | 9908
谁能帮帮我?
【问题讨论】:
-
我建议您尝试只选择
Child元素,然后在您拥有该权利后添加ID -
FROM OPENXML与相应的 SP 准备和删除文档已过时,不应再使用。而是使用适当的methods the XML data type provides。
标签: sql sql-server xml tsql