我试图将我的变量传入到 nodes()
和 value()
方法,但发生了一些错误。
DECLARE @path VARCHAR(50) = '/A/B/C',
@node VARCHAR(20) = '@name',
@result XML ='
<A>
<B>
<C name='nameA'/>
</B>
<B>
<C name='nameB'/>
</B>
</A>
'
SELECT T.c.value('./sql:variable("@node")', 'varchar(50)')
FROM @result.nodes('sql:variable("@path")') T(c)
引发错误。
XQuery [nodes()]。'nodes()'需要一个节点或节点集。
另外,当我用'ABC'来代替 @path
,提出了错误。
XQuery [value()]。不支持XQuery语法'function()'。
我的目标是得到一个像这样的表。
|Name|
|NameA|
|NameB|
|···|