SQL Ошибка сервера: XQuery [nodes ()]: для 'nodes ()' требуется узел или набор узлов - PullRequest
0 голосов
/ 16 июня 2020

Я пытался передать свои переменные в методы 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 [ node ()]: узел или набор узлов требуется для 'nodes ()'

Кроме того, когда я использую '/ A / B / C' для замены @path, возникла ошибка:

XQuery [value ()]: синтаксис XQuery '/ function ()' не поддерживается.

Моя цель - получить такую ​​таблицу:

|Name|
|NameA|
|NameB|
|···|
...