powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Простейший вопрос по OpenXml
4 сообщений из 4, страница 1 из 1
Простейший вопрос по OpenXml
    #39563959
Open_Xml
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Простейшая задача определить значение <version> в данном случае = 'ABC'
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
declare  @xml xml ,
         @iddocxml int

select @xml=
'<ROOT>
  <version>ABC</version>
</ROOT>'

EXEC sp_xml_preparedocument @iddocxml OUTPUT, @xml
;with cte 
    as
    (
            select * from openxml(@iddocxml,'/ROOT' )
             WITH (Val varchar(40) '/version')
    )
   select * from cte

SELECT 
          *     FROM OPENXML(@iddocxml, '/ROOT', 1)
                    WITH(  
                                        Val            VARCHAR(40)  '/version'
                )
                    
  EXEC sp_xml_removedocument @iddocxml


И получаю в итоге NULL Вопрос - как сделать правильно через OpenXml?
Спасибо
...
Рейтинг: 0 / 0
Простейший вопрос по OpenXml
    #39563961
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Open_Xml,

правильно - читать изначально справку.


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
declare  @xml xml ,
         @iddocxml int

select @xml=
'<ROOT>
  <version>ABC</version>
</ROOT>'

EXEC sp_xml_preparedocument @iddocxml OUTPUT, @xml
;with cte 
    as
    (
            select * from openxml(@iddocxml,'/ROOT' )
             WITH (Val varchar(40) 'version')
    )
   select * from cte

SELECT 
          *     FROM OPENXML(@iddocxml, '/ROOT', 1)
                    WITH(  
                                        Val            VARCHAR(40)  'version'
                )
                    
  EXEC sp_xml_removedocument @iddocxml


...
Рейтинг: 0 / 0
Простейший вопрос по OpenXml
    #39563988
Open_Xml
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
felix_ff Спасибо!
...
Рейтинг: 0 / 0
Простейший вопрос по OpenXml
    #39564197
AlanDenton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И зачем было такой код городить, XQuery в данном случае будет намного быстрее:

Код: sql
1.
2.
3.
4.
5.
6.
DECLARE @xml XML = N'
<ROOT>
  <version>ABC</version>
</ROOT>'

SELECT @xml.value('(ROOT/version/text())[1]', 'VARCHAR(40)')
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Простейший вопрос по OpenXml
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]