gpt4 book ai didi

sql-server - 为什么 OPENXML 只返回一个元素

转载 作者:数据小太阳 更新时间:2023-10-29 02:14:42 24 4
gpt4 key购买 nike

有人能解释一下为什么这个 T-SQL 代码只返回值为“1”的一行吗?我期待得到两行(“1”和“2”)。我在这里遗漏了什么吗?

DECLARE @XMLDoc2 XML
SELECT @XMLDoc2 = '<ids><id>1</id><id>2</id></ids>'

DECLARE @handle2 INT

EXEC sp_xml_preparedocument @handle2 OUTPUT, @XMLDoc2

SELECT * FROM OPENXML (@handle2, '/ids', 2) WITH (id INT 'id')

EXEC sp_xml_removedocument @handle2

注意:我使用的是 SQL Server 2008

非常感谢!

最佳答案

我遇到了同样的问题,我在另一个网站上找到了答案。你必须使用 '/ids/id' 而不是 '/ids' 然后使用 '.'在 WITH 子句中。

DECLARE @XMLDoc2 XML 
SELECT @XMLDoc2 = '<ids><id>1</id><id>2</id></ids>'

DECLARE @handle2 INT

EXEC sp_xml_preparedocument @handle2 OUTPUT, @XMLDoc2

SELECT * FROM OPENXML (@handle2, '/ids/id', 2) WITH (id INT '.')

EXEC sp_xml_removedocument @handle2

关于sql-server - 为什么 OPENXML 只返回一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1884364/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com