Получение наборов строк из XQuery и SQL Server 2005 - PullRequest
0 голосов
/ 17 марта 2009

Я могу получить первую запись из кода ниже в SQL Server 2005. Как мне получить их все? Если я удаляю индекс «[1]», я получаю одно-единственную ошибку ...

declare @xml xml
set @xml = 
'<my:myFields xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2009-03-16T20:13:11">
<my:field>test1</my:field>
<my:field>test2</my:field>
<my:field>test3</my:field>
<my:field>test4</my:field>
</my:myFields>'
SELECT @xml.value('declare namespace     my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2009-03-16T20:13:11";         
(/my:myFields/my:field)[1]', 'varchar(100)') as test

1 Ответ

0 голосов
/ 03 апреля 2009
declare @xml xml
set @xml = 
'<my:myFields xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2009-03-16T20:13:11">
<my:field>test1</my:field>
<my:field>test2</my:field>
<my:field>test3</my:field>
<my:field>test4</my:field>
</my:myFields>'

SELECT Y.ID.value('.', 'varchar(100)') as test
FROM @xml.nodes('declare namespace my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2009-03-16T20:13:11"; 
                (/my:myFields/my:field)') as Y(ID)
...