SQL XML не возвращает данные - PullRequest
0 голосов
/ 22 ноября 2011

Я использую следующий код. Он не возвращает мне результаты.Что мне здесь не хватает?

    declare @iDoc INT           
  EXEC sp_xml_preparedocument @iDoc OUTPUT, '<Ids><Id Val ="40041">11</Id><Id Val ="40042">22</Id></Ids>'   
  Select @iDoc       
  Select Val FROM OPENXML (@iDoc, '/Ids/Id',2) WITH (Val varchar(10))    

Ответы [ 2 ]

1 голос
/ 22 ноября 2011

Я предпочитаю использовать xpath в части запроса WITH.Таким образом, вам не нужно беспокоиться о третьем параметре функции OPENXML.Следующий код работает независимо от 3-го параметра (это может быть любое значение).

declare @iDoc INT           

EXEC sp_xml_preparedocument @iDoc OUTPUT, '<Ids><Id Val ="40041">11</Id><Id Val ="40042">22</Id></Ids>'   

Select *
FROM   OPENXML (@iDoc, '/Ids/Id',2) 
WITH   (Val varchar(10) '@Val', 
       Id int '.')

EXEC sp_xml_removedocument @iDoc
1 голос
/ 22 ноября 2011

Найден ответ - Заменить '/ Ids / Id', 2 на '/ Ids / Id', 5

...