SQL Server错误。XQuery [nodes()]。'nodes()'需要一个节点或一组节点。

问题描述 投票:0回答:1

我试图将我的变量传入到 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|
|···|
sql-server xml-parsing
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.