Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SQL Server 2008r2, XML, добавление произвольных да 
V
    Опции темы
lv151
Дата 9.10.2014, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 916
Регистрация: 11.2.2008

Репутация: нет
Всего: 2



C помощью данного запроса я получаю данные из таблицы в XML-виде.

Код

SELECT itemid, itemname, itemcode
FROM items itm    
FOR XML PATH('item'), ROOT('items')


Код

<items>
  <item itemid="1" itemname="A" itemcode="11" />
  <item itemid="2" itemname="B" itemcode="12" />
  <item itemid="3" itemname="C" itemcode="13" />
</items>


Вопрос.
Возможно ли составить запрос так, чтобы XML выглядил так:

Код

<?xml version="1.0" encoding="utf-8"?>
<data>
    <dataname name1="name1" name2="name2">
    <records name3="name3">

    <items>
        <item itemid="1" itemname="A" itemcode="11" />
        <item itemid="2" itemname="B" itemcode="12" />
        <item itemid="3" itemname="C" itemcode="13" />
    </items>
    </records>
    </dataname>
</data>



как-то захордкодить эти строки:
Код

<?xml version="1.0" encoding="utf-8"?>
<data>
<dataname name1="name1" name2="name2">
<records name3="name3">


и 

Код

</records>
</dataname>
</data>


Это сообщение отредактировал(а) lv151 - 9.10.2014, 12:32
PM MAIL   Вверх
Akina
Дата 9.10.2014, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



SQL-запрос может выгрузить только те данные, которые отобраны в результате выполнения запроса. Поскольку дополнительных строк в запросе не выдаётся - соответственно в итоговый файл им попасть просто неоткуда.
Так что добавляйте эти фрагменты в уже выгруженный файл. Лучше - внешними инструментами.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
lv151
Дата 13.10.2014, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 916
Регистрация: 11.2.2008

Репутация: нет
Всего: 2



Всё-таки, это можно сделать с помощью sql server, хотя нужно немного извратнуться.
PM MAIL   Вверх
Akina
Дата 13.10.2014, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Попробуй помыслить в направлении
Код

SELECT header + subquery.text + footer
FROM (твой запрос) AS subquery

У меня MS SQL под рукой только 2000-й, попробовать не на чем... но уже вижу проблему в том, что формируемое псевдополе имеет хрен-какое имя, за него не зацепишься... как вариант, можно попробовать завернуть получение XML в функцию и получить что-то типа
Код

SELECT header + make_xml() + footer
FROM dual





--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0786 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.