Я пытался передать свои переменные в методы 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|
|···|