有人能解释一下为什么这个 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
非常感谢!