我在存储过程中使用 openxml 函数时遇到问题,如您所见,select 语句返回空行。我怀疑 sql 无法读取 xml 目录。这是我第一次使用此功能,所以我不确定这是使用它的正确方法。顺便说一句,我使用的是 sql server 2008 r2。这是重现问题的代码。
Declare @hddoc int
Declare @Doc xml
SET @Doc = ' <DataSet>
<tblEmp>
<name>Nazri</name>
<designation>Developer</designation>
</tblEmp>
<tblEmp>
<name>Jibin</name>
<designation>System Analyst</designation>
</tblEmp>
</DataSet>'
EXEC SP_XML_PREPAREDOCUMENT @hddoc OUTPUT, @Doc
SELECT @hddoc
DECLARE @iDoc INT
SET @iDoc = 1
SELECT *
FROM OPENXML(@iDoc,'/Dataset/tblEmp')
WITH ( name varchar(50) '@name',
designation varchar(50) '@designation'
)